表达式与语句
表达式
var a = 1 + 2;后面的 1 + 2为表达式,表达式的值为3add(1,2)表达式的值为函数的返回值,只有函数有返回值- console.log 表达式的值为函数本身
- console.log(3)表达式的值为?undefined,但是它打印出来的东西是3
语句
- var a =1 + 2 是一个语句
两者的区别
- 表达式一般都有值,语句可能有也可能没有
- 语句一般会改变环境(声明、赋值)
- 上面两句话并不是绝对的
标识符的规则
第一个字符,可以是Unicode 字母或者 $、__或中文
后面的字符,除了上面所说的,还可以有数字
变量名是标识符
var _ = 1
var $ =2
var 你好 = 'hi'
if else 语句
语法
- if(表达式){语句1}else{语句2}
if(a === 1){
console.log('a是1');
}else{
console.log('a不是1')
}
- {}在语句只有一句的时候可以省略,不建议这样做
if(a === 1)
console.log('a是1')
- 语句1可嵌套的if else
a = 2;
if(a < 100){
if(a < 10){
console.log('a小于10')
}
}
- 语句2里也可以嵌套的if else
if(a < 1000){}else{
if(a < 100){
console.log('a小于100')
}
}
else if 就是这样变形的
if(a < 1000){
}else if(a < 100){
console.log('a小于100')
}else{
}
while 循环(当..时)
语法
-
while(循环条件){循环语句;}
-
执行:如果循环条件成立就执行循环语句,直到循环条件不成立为止。
-
循环步骤(除了循环体,其他3个不写死循环)
- 初始化
- 判断
- 循环体
- 增长
-
【注意】 死循环,在电脑中小数有浮点数不精确
var a = 0.1; while(a != 1){ console.log(a); a = a+ 0.1 }
for 循环
语法糖
- for是while循环的方便写法
语法
-
for(语句1;表达式2;语句3){循环体}
-
先执行语句1,然后在判断表达式2,如果为真,执行循环体,然后最后执行语句3
-
如果为假,直接退出循环,执行后面的语句
-
【注意】 执行完以后,i的值为5
for(var i = 0; i < 5; i++){ console.log(i); } 0,1,2,3,4
break 和 continue
break 退出所有循环
for(var i = 0; i < 10; i++){
if(i%2 === 1){
break;
}
}
//输出1
break当有两层循环时
for(var i = 0; i < 10; i++){
for(var j = 100; j < 110; j++){
if(i === 5){
break;//只退出里面循环,外面不影响
}
}
console.log(i);
}
//输出 0 1 2 3 4 5 6 7 8 9
continue 退出当前一次循环(相当于下一个)
for(var i = 0; i < 10; i++){
if(i%2 === 1){
continue;
}else{
console.log(i)
}
}
//输出 0 2 4 6 8
label语句
语法
foo: {
console.log(1);
break foo;
console.log('本行不会输出');
}
console.log(2);
// 1 2