标识符
- 标识符命名规则
(1)第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。
(2)第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9。
(3)中文是合法的标识符,可以用作变量名。
(4)JavaScript有一些保留字,不能用作标识符:arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield。
if结构
/*if结构先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。布尔值指的是 JavaScript 的两个特殊值,true表示真,false表示伪。“布尔值”一般由一个条件表达式产生的,必须放在圆括号中,表示对表达式求值。如果表达式的求值结果为true,就执行紧跟在后面的语句;如果结果为false,则跳过紧跟在后面的语句。
*/
if (布尔值)
语句;
//或者
if (布尔值) 语句;
- if语句表达式中的等于(=)
(1)赋值表达式(=);
(2)严格相等运算符(===);
(3)相等运算符。
- if...else结构
if (条件表达式) {
满足条件时,执行语句1;
} else {
不满足条件时,执行的语句;
}
- 对于同一个变量进行多次判断时,多个if...else语句可以连写在一起
if (a === 0) {
} else if (a === 1) {
} else if (a === 2) {
} else {
}
- 大括号的位置代表不同的含义,else代码块总是与离自己最近的那个if语句配对
var m = 1;
var n = 2;
if (m !== 1)
if (n === 2) console.log('hello');
else console.('world');
//上面代码不会有输出,else代码块不会得到执行
//上面代码相当于
var m = 1;
var n = 2;
if (m !== 1) {
if (n === 2) {
console.log('hello');
} else {
console.log('world');
}
}
//如果要输出else语句,改变大括号位置即可
var m = 1;
var n = 2;
if (m !== 1) {
if (n === 2) {
console.log('hello');
}
} else {
console.log('world');
}
switch结构
- 多个if...else连在一起使用时可以转换为switch结构
switch (x) {
case 1:
执行语句1;
break;
case 2:
执行语句2;
break;
default:
执行语句3;
}
/*x为变量,可以是任意的;
根据变量的值,可以执行对应的case,没有对应的执行default部分;
每个case代码块内部必须要有break语句,不然会接着执行下一个case代码块,不会跳出switch结构*/
switch (1 + 3) {
case 2 +2 :
执行语句1;
break;
default:
执行语句2;
}
//default部分不会被执行
//switch语句后面的表达式与case语句后面的表达式比较运行结果时采用严格相等运算符(===),而不是相等运算符(==),所以比较时不会发生类型转换
var x = 1;
switch (x) {
case true:
console.log('x 发生类型转换');
default:
console.log('x 没有发生类型转换换');
}
//结果是 x 没有发生类型转换
(条件) ? 表达式1 : 表达式2 /*表示条件为true时返回表达式1的值,否则返回表达式2的值*/
//相当于
if (条件) {
表达式1;
} else {
表达式2;
}
网友评论