函数定义的优先级
约 161 字小于 1 分钟
2026-03-31
下面代码的执行结果是什么?
JS code example
console
Click the run button to execute the code ...
代码主要考察函数声明与函数表达式的优先级差异。
- 提升优先级:预编译阶段,函数声明
function foo优先于var foo提升,此时 foo 指向打印 1 的函数。 - 赋值覆盖:代码执行到第一行
var foo = function...时,发生赋值操作,将 foo 重新指向打印 2 的函数。 最终调用:执行 foo() 时,使用的是被覆盖后的函数(打印 2)。