9. js语法

325 阅读1分钟

表达式与语句

  1. 1+2是表达式, var a = 1是语句

  2. console.log(3): 表达式的值是undefined, 打印出来的是3


s语法需要注意的点:

  1. 大小写敏感:我们一直用的window小写, chrome输出是大写, 那是因为chrome控制台瞎搞
  2. 空格回车随意: 不影响语义的空格和回车, 任意删减都没有关系. return后面不加回车, 加了回车, js原创: 自动添加undefined
  3. 变量名: 大部分Unicode字符都可以用做变量名, 数字不能开头, 下划线最多2
  4. 好的注释:
    • 踩坑注释
    • 为什么代码写这么奇怪.

判断

  1. 三个等号优于两个等号

  2. if不省括号:使用最没有歧义的写法, switch 不推荐, 容易错,特别是:break不写就完了

  3. a&&b&&c表达式的值:取第一个假值,

    a||b||c表达式的值:取第一个真值


循环

  1. 不要用while(整数 === 浮点数 )作为循环终止条件:

  1. 所有循环执行结束才执行setTimeout:

let是例外情况:

  1. 这个时候a的值是不确定的, 不确定什么时候会修改a

​ 例如:


label 代码块

//这是一个label代码块
fo:{
    console.log("1")
    var a = 1
}

//这是一个对象
var a = {
    fr: "ks";
    tl: "kda";
}

//chrome中, 下面这个式子会当成对象:
{
    fo: 1
}

//chrome下面的当成代码块
{
    fo:1;
}

对象和label块的区别, 只有面试会问