一、表达式、语句
- 表达式
- 1+2 表达式的值为3
- add(1,2) 表达式的值为函数的返回值
- console.log 表达式的值为函数本身
- console.log(3) 表达式的值为undefined;打印出来的是3
- 注意:只有函数有返回值;值是值,返回值是返回值,两种不同的东西
- 语句
- var a = 1 是一个语句
- JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句
- 语句以分号结尾,一个分号就表示一个语句结束。多个语句可以写在一行内
- 二者的区别
- 表达式是为了得到返回值;一般都有值,语句可能有可能没有
- 语句主要为了进行某种操作,一般情况下不需要返回值;一般会改变环境(声明、赋值)
- 上面两句并不是绝对的
二、标识符的规则
规则:第一个字符,可以是Unicode字母或者$ 或者 _ 或者中文
后面的字符,除了上面的还可以有数字。用 _ 的时候,最多不要超过2个下划线
三、if else 语句
- 语法: if(表达式){语句1}else{语句2}
- 其他情况
- { }在语句只有一句的时候可以省略 (不推荐这样做)
- 表达式里可非常变态,比如a=1;应该是用a===1 赋值
- 语句1变态:如嵌套的if…else
- 语句2变态:如嵌套的if…else
- 缩进:
if(a===2)
console.log(2)
console.log('a等于2')
//在省略{ }的情况下,只会打印出 “a等于2”;因为if只会管到离它最近的一个语句
等同于
if(a===2)
console.log(2)
console.log('a等于2')
if(a===2){
console.log(2)
console.log('a等于2')
}
//全部包起来的情况下,什么也不打印
if(a===2){
console.log(2),console.log('a等于2')
}
//undefined;逗号表示未结束
- 推荐写法: if(表达式){语句1}elseif{语句2}else{语句3}
- 次推荐写法(函数):
function fn( ){
if(表达式){
return表达式
}
if(表达式){
return表达式
}
if(表达式){
return表达式
}
}
四、while循环
- 语法:while(表达式){语句}
- 执行过程:判断表达式的真假。当表达式为真时,执行语句,执行完再吃判断表达式真假;如果是假,直接跳出循环;
- 注意:
- 用while是Chrome浏览器最后会多出一个奇怪的值,没有意义;
- while语句没有返回值
- 避免写成死循环;例如浮点数相加
五、for循环
- for是while循环的方便写法
- 语法:for(语句1,表达式2,语句3){ 循环体 }
- 执行过程:先执行语句1 -->判断表达式2 -->如果是真,执行循环体 -->再执行语句3 -->如果判断为假的话,直接退出循环体
for(var i=1;i<5;i++){
console.log(i);
}
//打印出1,2,3,4
//最后i的值是5
考点
for(var i=1;i<5;i++){
setTimeout(()=>{
console.log(i)});
}
//当有setTimeout时,表示过一段时间打印
//打印出来的结果是4次5;最后i的值也是5
//用let可以解决上面的问题。let会直接打印出1,2,3,4
六、break continue
- break 退出离它最近的所有循环
- continue 退出当前一次循环
七、label语句
语法:
foo:{
console.log(1);
break foo;
console.log('本行不会输出');
}
console.log(2);
面试常问到:
{
foo:1
}
foo是一个label,它的语句是1
label没咋懂,似懂非懂,之后再查资料看下~~