JavaScript 基础总结(变量提升、严格模式)
变量与函数提升规则
- 变量提升:按顺序执行,变量声明提升但赋值不会提升。
- 函数提升:整个函数体提升到全局作用域顶部。
- 优先级:函数提升 > 变量提升。
1 | console.log(a); // undefined |
使用 use strict
严格模式
作用:
- 避免创建意外的全局变量;
- 禁止使用未声明变量,防止内存泄漏;
this
默认绑定到undefined
而非window
。
1 | function foo() { |
1 | (function() { |