虽然不应该使用阴影(或者只是为了混淆),因为它令人困惑,我想完全理解它。我得到了这个奇怪的东西:
alert(parseInt('123'));//Here, I expected 123 but it's 'overshadowed'
function parseInt(){return 'overshadowed';}
alert(parseInt('123'));//Here it's 'overshadowed' too
为什么第一个alert
输出'黯然失色'而功能尚未修改?
答案 0 :(得分:2)
在JavaScript中,所有声明都是隐式放置在作用域的开头(“hoisted”),因此parseInt()定义是无关紧要的在第二行,最后一行或第一行。