JS 的基本语法
1.什么是表达式和语句
JavaScript中的表达式和语句是有区别的.一个表达式会产生一个值,它可以放在任何需要一个值的地方,比如,作为一个函数调用的参数.下面的每行代码都是一个表达式:
5 + b fun("a", "b")
语句可以理解成一个行为.循环语句和if语句就是典型的语句.一个程序是由一系列语句组成的.JavaScript中某些需要语句的地方,你可以使用一个表达式来代替.这样的语句称之为表达式语句.但反过来不可以:你不能在一个需要表达式的地方放一个语句.比如,一个if语句不能作为一个函数的参数.
If语句和条件运算符
下面是一个if语句的例子:
var x;
if (x >= 0) {
x = x+1;
} else {
x = x-1;
}
类似if语句功能的表达式叫做条件运算符.上面的语句等价于下面的.
var x = (x >= 0 ? x+1 : x-1);
在等于号=和分号;之间的代码就是条件表达式.两边的小括号不是必需的,但我觉得小括号能让条件表达式更易读.
2.标识符的规则
- 第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号(
$
)和下划线(_
)。 - 第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字
0-9
。//合语法标识符
arg0 _tmp $elem π 变量A //不合语法标识符 1a // 第一个字符不能是数字 23 // 同上 *** // 标识符不能包含星号 a+b // 标识符不能包含加号 -d // 标识符不能包含减号或连词线
3.if else 语句
- JavaScript 提供
if
结构和switch
结构,完成条件判断,即只有满足预设的条件,才会执行相应的语句。if (布尔值) 语句; // 或者 if (布尔值) 语句; var num = 1 if(num === 1) console.log(num) //满足num全等1时会运行紧跟的那句表达式 var n = 1 var m = 2 if(n!==1) if(m === 1) console.log('m等于1') else console.log(m) //上面的代码不会执行,但是读起来太可怕了,我们换个写法 var n = 1 var m = 2 if(n!==1){ if(m === 1){ console.log('m等于1') } else { console.log(m) } } //现在清晰多了,所以为了制造可读性强的if else一定要配合区块("{}")使用
4.while,for 语句
-
While
语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。
while (条件) 语句; // 或者 while (条件) 语句; var i = 0 while(i<5){ console.log(i) i++ } //i<5时才会循环 while(true){ console.log('死循环') } //当while后的条件持续为true时,就会进入死循环,无法自己中断,只能靠外部介入。
-
for
语句是循环命令的另一种形式,可以指定循环的起点、终点和终止条件。它的格式如下。for (初始化表达式; 条件; 递增表达式) 语句 // 或者 for (初始化表达式; 条件; 递增表达式) { 语句 } for(let i = 0;i<5;i++){ console.log(i,'--i') } //i小于5的时候满足条件自增 for(let i = 0;i=0;i++){ console.log(i,'--i') } //条件乱写的话也会死循环。
5.break continue
break
语句和continue
语句都具有跳转作用,可以让代码不按既有的顺序执行。
break
语句用于跳出代码块或循环continue
语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环//正常顺序 for(let n = 0 ;n<5;n++){ console.log(n,'--n') } 0"--n" 1"--n" 2"--n" 3"--n" 4"--n" //使用了break就在满足n为3时跳出了整个循环 for(let n = 0 ;n<5;n++){ console.log(n,'--n') if(n===3){ break } } //0"--n" 1"--n" 2"--n" 3"--n" //使用了continue在满足n为3时跳过了3的那次循环 for(let n = 0 ;n<5;n++){ if(n===3){ continue; } console.log(n,'--n') } //0"--n" 1"--n" 2"--n" 4"--n"
6.label
- JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。
label: 语句 //标签通常与break语句和continue语句配合使用,跳出特定的循环。 top: for (var i = 0; i < 3; i++){ for (var j = 0; j < 3; j++){ if (i === 1 && j === 1) break top; console.log('i=' + i + ', j=' + j); } } // i=0, j=0 // i=0, j=1 // i=0, j=2 // i=1, j=0 //如果不加top的话只会跳出break所处的for循环,加上top的话则会跳到top所处的那一层 foo: { console.log(1); break foo; console.log('本行不会输出'); } console.log(2); // 1 // 2 也可以用于跳出普通的代码块