【发布时间】:2012-11-22 02:23:14
【问题描述】:
我之前问过一个问题,有人给了我一个指南,我读了它,我看到了这个
var temp = setTimeout,
setTimeout = function() {};
他说由于 JavaScript 提升,temp 将是未定义的,我不明白为什么 不应该是这样的吗?
var temp;
temp = setTimeout;
setTimeout = function() {};
那为什么它是未定义的?
【问题讨论】:
-
对于任何回答的人,请注意“setTimeout”之后第一个代码块中的逗号。 +1
-
我不太清楚你在问什么。
temp被声明,然后在setTimeout被声明和定义之前被初始化为未定义的值setTimeout。但是定义setTimeout听起来也是一个非常糟糕的主意,至少在浏览器环境中是这样,因为这是一个已经使用的符号。
标签: javascript hoisting