【问题标题】:Strange behaviour whith shadowing阴影的奇怪行为
【发布时间】:2012-06-05 12:32:09
【问题描述】:

虽然不应该使用阴影(或者只是为了混淆),因为它令人困惑,但我想完全理解它。我得到了这个奇怪的东西:

alert(parseInt('123'));//Here, I expected 123 but it's 'overshadowed'
function parseInt(){return 'overshadowed';}
alert(parseInt('123'));//Here it's 'overshadowed' too

为什么第一个alert 输出'overshadowed' 而函数还没有修改?

P.S : 我的灵感来自Variable shadowing in JavaScript

【问题讨论】:

    标签: javascript shadowing


    【解决方案1】:

    在 JavaScript 中,所有声明都隐式放置在作用域的开头(“hoisted”),因此 parseInt() 定义是否为在第二行、最后一行或第一行。

    【讨论】:

    猜你喜欢
    • 2021-02-19
    • 1970-01-01
    • 2016-04-19
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    相关资源
    最近更新 更多