使用的版本最低为ES6 因为ES6大部分浏览器支持
表达式
-
1+2表达式的值为3
-
add(1,2)表达式的值为函数的返回值
-
console.log表达式的值为函数本身
-
console.log(3)表达式的值为undefined
语句
- var a = 1是一个语句
二者区别:
-
表达式一般都有值,语句可能有也可能没有
-
语句一般会改变环境(声明、赋值)
-
但是上骂两句话不是绝对的
大小写
同一个单词不同大小写是不同的
-
var a和var A不同
-
object和Object 不同
-
function 和Function 不同
空格
大部分空格没有实际意义 ,加回车大部分时候不影响
return后面不能加回车!!!
标识符
第一个字符可以是Unicode字母或$或_或中文,也可以是数字
区块block
作用:把代码包在一起
{
let a= 1
let b=2
}
常与if/for/while合用
if语句
语法:if(表达式){语句1}else{语句2}
特殊情况:
-
表达式中a=1
-
if和else语句中可以再嵌套if、else
-
缩进可以影响结果,如
a=1
if(a===2)
console.log('a')
console.log('a等于2')
输出“a等于2”
在没有{}情况下if只管到第一个语句
最推荐使用的写法:
if(表达式){
语句
}else if(表达式){
语句
}else{
语句
}
次推荐的写法
function fn(){
if(表达式){
return 表达式
}
if(表达式){
return 表达式
}
return 表达式
}
switch 语句
语法:
switch (a){
case "1":
//...
break;
case "2":
//...
break;
case "3":
//...
break;
defeat:
//...
}
问好冒号表达式
表达式1?表达式2:表达式3
A?B:C
&&短路逻辑
A&&B&&C&&D取第一个假值或者D,不会取true/false
||短路逻辑
A||B||C||D取第一个真值或D,不会取true/false
while循环
语法:while(表达式){语句}
判断表达式的真假
当表达式为真,执行语句,执行完再判断表达式真假
当表达式为假,执行后面的语句
for 循环
for循环时while循环的方便写法
语法:
for (语句1;表达式2;语句3){
循环体
}
先执行语句1,然后判断表达式2
如果为真,执行循环体,然后执行语句3
如果为假,直接退出循环,执行后面的语句
break和continue
break退出所有循环 break只会退出离他最近的for语句
continue退出当前一次循环
label
语法:
foo:{
console.log(1);
break foo;
console.log('本行不会输出');
}
console.log(2);
{
foo.1
}
代表a是label,语句是1