JavaScript 语法基础_如果让

目录

0.流程控制

1.代码中嵌入javascript

2.定义函数

3.数据类型

4.数组

5.正则表达式



0.流程控制

0.1.选择语句

  if 语句

var score = 60;
if (score >= 90){
    console.log("A");
} else if (score >= 80){
    console.log("B");
} else if (score >= 70){
    console.log("C");
} else if (score >= 60){
    console.log("D");
} else {
    console.log("E");
}


  switch 语句,最终结果是 other,因为 switch 的比较是“===”。

var score = "90";
switch (score) {
    case 90:
        console.log("90");
        break;
    case 80:
        console.log("80");
        break;
    case 70:
        console.log("70");
        break;
    case 60:
        console.log("60");
        break;
    default:
        console.log("other");
        break;
}

0.2.循环语句

  for循环语法

// for循环语句语法
var sum = 0;
for (var i = 1; i < 15; i++) {
    sum += i;
}
console.log(sum);


  for循环打印一个三角型

// 打印三角型
for (var i=0; i<15; i++){
    for (var j=0; j<=i; j++){
        document.write("☆");
    }

    // 换行
    document.write("<br>");
}

 

  while循环

while (i<33){
    document.write('<td></td>');
}

// do...while
do{
    document.write('<td></td>');
}while(i<33)





1.代码中嵌入javascript


1.1.基于事件调用

  例子中用一个按钮的单击事件来触发javascript代码的执行

<!doctype html>
<html>
<head>
  <meta charset="utf-8"/>
  <title>第一种嵌入Javascript的方法演示</title>
</head>
<body>
  <input type="button" value="1.嵌入一段javascript代码" onclick="window.alert('I\'m JavaScript.');"/>
</body>
</html>



1.2.嵌入js代码块

  页面加载时,自上而下依次执行:

<!doctype html>
<html>
<head>
  <meta charset="utf-8"/>
  <title>第二种嵌入Javascript的方法演示</title>
  <script type="text/javascript">
    alert("Hello Kitty");
  </script>
</head>
<body>
  <p>第二种执行方法</p>
</body>
</html>


1.3.引入js文件

  从代码调入js文件:

<!doctype html>
<html>
<head>
  <meta charset="utf-8"/>
  <title>第三种嵌入Javascript的方法演示</title>
  <script type="text/javascript" src="./js/setform.js"></script>
</head>
<body>
  <p>第三种执行方法</p>
</body>
</html>


1.4.js注释

  单行注释使用双斜线,多行注释跟C相同

// 单行注释
/*
 * 多行注释
 */



2.定义函数


2.1.函数定义

  使用关键字function定义函数

function f1(var1, var2, ...){
    ...;
    return 33;
}

  还可以使用其他方法定义函数

f1 = function(...){
    ...;
}

  调用函数,通过函数名称带上括号。

f1("e_no", "e_id", ...);


  带参数的函数,调用时没有传入参数,采用默认值的处理方式

//当没有获取到参数时,设定为33、34
var1=var1||33;
var2=var2||34;


2.2.变量作用域

  全局变量,函数体外声明的变量,作用域从声明开始到脚本执行结束。能影响到函数中。

  局部变量,函数体内声明的变量,作用域仅仅在函数内部(var 开头的声明)。如果函数内部,没有以var开头,就认为是个全局变量。

// 定义局部变量
var localvari = 'sunny'
// 定义全局变量
localvari = 'rainy'



3.数据类型


3.1.数据类型

  五种类型:Undefined、String、Number、Boolean、Object。

  Undefined类型只有一个值:undefined。

  String类型可以使用单引号、也可以使用双引号。常用属性“length”,常用方法“toUpperCase”、“toLowerCase”、“substr”、“replace”。

  Number类型常用方法:“isNaN”、“parseInt”、“parseFloat”。

  Boolean类型只有两个值:true、false。多用于条件判断,条件判断是用到“==”、“====”,表示比较值相等、值相同数据类型一致。

  Object类型,定义个Object类型有点特殊:

var o = new Object();

可以自定义类,默认继承自Object。

  定义一个新类:

// 定义类
function myNewObject(var1, var2, var3){
    // 为属性赋值
    this.var1 = var1;
    this.var2 = var2;
    this.var3 = var3;
    
    // 为类定义方法
    this.f1 = function(){
        ...;
        ...; 
    };
}

// 创建对象
var O1 = new myNewObject();
// 使用类方法
O1.f1();

还可以使用其他方法定义类

myNewObject = function(var1, var2, var3){
    this.var1 = var1;
    this.var2 = var2;
    this.var3 = var3;
    ...
}


3.2.数据类型转换

3.2.1.隐式转换

  转换规则(布尔false):

    undefined -> false

    null -> false

    0 NaN -> false

    "" -> false

  转换规则(Number):

    undefined -> NaN

    "" -> 0

    null -> 0

    false -> 0

    true -> 1

  转换规则(String):

    undefined -> "undefined"

    null -> "NaN"

    true -> "true"

    false -> "false"


3.2.2.强制转换

  规则一样的。

  转换方法(布尔false): Boolean()

var test=0;
alert(Boolean(test));
alert(typeof(Boolean(test)));

  转换方法(String): String()

var test=123
alert(String(test));
alert(typeof(String(test)));

  转换方法(Number): Number()

test="";
alert(Number(test));
alert(typeof(Number(test)));


3.3.数据处理函数

3.3.1.字符串

  

3.3.2.数组

  

3.3.3.字典、布尔值

  



4.数组


  数组在js中是一个Array对象。

// 定义一个静态数组
var myArray = [110, 112, 119, 122];

// 定义一个动态数组
myArray = new Array(10);
for (var i=0; i<myArray.length; i++){
    myArray[i] = new Array(i);
}


  数组中常用的方法,“reverse”、“pop”、“bush”、



5.正则表达式


  特殊字符含义

JavaScript的正则表达式
特殊字符
含义
^
匹配位置,开头
$
匹配位置,结尾
\s
空白符
+
匹配次数,1到多次
*
匹配次数,0到多次
?
匹配次数,0或1次
{2,3}
匹配次数,2到3次
{2,}
匹配次数,最少2次
0-9
数字从0到9
[0-9]
其中之一


5.1.创建正则表达式的方法

var reex = /EXPRESSION/flag;
var reex = new RegExp("EXPRESSION", "flag");
// flag: i, g, m
// 忽略大小写
// 全局匹配
// 多行


5.2.使用正则表达式

var eNo= "S0312651"
// 创建
var ree = /^S[0-9]{6}/;
// 比较
var result = ree.text(eNo);