1.表达式和语句
表达式
- 1+2表达式的值为3
- add(1,2)表达式的值为函数的返回值
!!只有函数有返回值!!
!!值和返回值是不一样的!! - console.log表达式的值为函数本身
- console.log(3)表达式的值为undefined,但打印出的东西是3
语句
- var a = 1是一个语句
两者的区别
- 表达式一般都有值,语句可能有也可能没有
- 语句一般会改变环境(声明、赋值)
- 上面两句话并不是绝对的
JS大小写敏感
空格和回车
- 大部分空格无实际意义
- 加回车大部分时候也不影响
!!只有一个地方不能加回车,那就是return后面!!
2.标识符的规则
规则
- 第一个字符,可以是字母或$或_或中文
- 后面的字符,还可以有数字
- 变量名是标识符,其他标识符用到再说
!!不要用拼音写变量名,用中文可以!!
3.if else语句
语法
if(表达式){
语句1
} else {
语句2
}
- {}在语句只有一句的时候可以省略,不建议省略
例子如下:
if(a<100){
if(a<10){
console.log('a小于10')
}
}
上下代码完全一致
if(a<100)
if(a<10)
console.log('a小于10')
变态情况
- 表达式里可以非常变态,如a=1
- 语句1里可以非常变态,如嵌套的if else
- 语句2里也可以非常变态,如嵌套的if else
- 缩进也可以非常变态
例子如下:
a = 1
if( a === 2 )
console.log('a')
console.log('a等于2')
最终打印出“a等于2”,因为省略的花括号只能管到第一句,if语句不成立,所以跳过,然后运行下面代码
3.while循环
语法
while(表达式){
语句
}
- 判断表达式的真假
- 当表达式为真,执行语句,执行完再判断表达式的真假
- 当表达式为假,退出循环并执行后面语句
例子:
var i = 0 //初始化
while( i < 10 ){ //判断
console.log(i) //循环体
i++ //增长
}
死循环例子:
while(true){}
死循环例子2:
var i = 0.1
while( i !== 0.1 ){
console.log(i)
i = i + 0.1
//原因: 浮点数不精确造成的问题
}
4.for 循环
for是while循环的方便写法
语法
for(语句1;表达式2;语句3){
循环体
}
- 先执行语句1,然后判断表达式2
- 如果表达式成立
!!执行循环体,再执行语句3,执行完再判断表达式2!! - 如果表达式不成立,直接退出循环
例子:
for(var i = 0; i < 5 ; i++){
console.log(i)
}
上面代码会打印五次,分别是0,1,2,3,4
变态例子
for(var i = 0; i < 5 ; i++){
setTimeout(()=>{
console.log(i)
},0)
}
上面代码会打印五次,打印出5个5,因为过一段时间是在for循环执行完之后
5. break和continue
- break: 退出所有循环(只会退出离它最近的循环)
- continue:退出当前一次循环
6. label语句
用的很少,面试有5%的概率考
{
foo: 1
}
- 上面是什么?
代码块里面有一个foo标签,它的语句是1
资料来源:饥人谷