这一次,我将总结 JS 中几个容易出错的点:
提升(hoisting); this 绑定; 运算符优先级与结合性;
1. 提升(hoisting)
关键点:
示例1:
示例2:
示例3:
示例4:
2. this 绑定
this 是在函数被调用时发生的绑定
它指向什么完全取决于函数在哪里被调用
判定规则(优先级):
示例1:
示例2:
示例3:
示例4:
示例5:
3. 运算符优先级与结合性
A. 什么是运算符优先级?
运算符的优先级决定了表达式中运算执行的先后顺序,优先级高的运算符最先被执行。
B. 什么是结合性?
结合性决定了拥有相同优先级的运算符的执行顺序。
优先级、结合性小题目1:
优先级、结合性小题目2:
优先级、结合性小题目3:
参考:
《你不知道的 JavaScript(上卷)》 《深入理解 ES6》 《ES6 标准入门》 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence