标签搜索

javascript 提升总结

cicaba
2018-03-07 / 0 评论 / 3 阅读 / 正在检测是否收录...

javascript在执行时会经历两个阶段.

  1. 编译阶段.
  2. 执行阶段.

在编译阶段, 变量申明和函数申明, 都会提升到当前作用域的顶部,
注意:

  1. 函数提升优先于变量提升.
  2. 函数表达式不会被提升. (具名表达式函数也不会被提升).
  3. 函数标识符和变量标识符重名时, 变量声明将会被忽略.
  4. 在普通块中函数声明, 将会被提升到所在的作用域顶部.
foo(); // "b"
var a = true;
if (a) {
  function foo() { console.log("a"); }
}
else {
  function foo() { console.log("b"); }
}
0

评论 (0)

取消