表达式和语句
1+2 表达式的值是3
add(1+2)表达式的值是返回值
console.log()的返回值是undifined
var i = 1 是一个语句
js使用中,大小写敏感,千万要区分
大部分空格无意义,但是在return后面最好不要加,会出bug
标识符的规则
命名中,可以使用几乎所有的字符,包括汉字,但是,组合过程中不能将数字放在字符之前
例如let $12 = 9 正确 let 12$ = 9 错误
关于代码注释
- 不要写太多解释注释
- 不要在注释中吐槽
- 可以写自己的踩坑经历
- 可以写为什么自己的代码很奇怪的理由,不这样写会出什么错
if else 语句
一般写法:
if(表达式1){
语句1;
}else if(表达式2){
语句2;
}else{
语句3;
}
当if,else,都只有一行语句时可以简写为 ? :
a>1 ? yes : no a是否大于1,是输出yes,否则输出no
while for 语句
while(表达式){
语句
}
当满足条件时就会一直执行语句,直到不满足为止
var a = 0.1;
while (a !== 1) {
console.log(a)
a = a + 0.1
}
浮点数会造成计算精度不准确,从而无法满足a = 1这个条件,谨慎使用
for循环是while语句的方便写法
for (初始化; 表达式; 自增) {
循环体
}
break continue
break是跳出离它最近的一个for循环
continue是跳出本次循环,下次继续
label
{
a:1;
}
以上的代码是:有一个代码块,代码块里有一个label, a: 1 表示这个标签是a, a的值是1
而不是一个对象!
foo: {
console.log(1)
break foo;
console.log('本行不会输出')
}
console.log(2)
foo 表示 label的标识符是 foo, break foo 表示退出当前的Label, 所以代码会输出1, 2
短路逻辑:
A && B && C && D会取第一个假值或D,而不是true/false,用法:
console && console.log && console.log(111)
A || B || C || D 会取第一个真值或D,而不是true/false,用法:
a = a || a =2