gpt4 book ai didi

javascript - firebug 控制台不进行提升

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:36:07 25 4
gpt4 key购买 nike

console.log(a());
function a(){
console.log("hello");
}

从上面的代码中,我希望 "hello"(和一些 undefined)被记录在控制台上。但是 Firebug 给了

ReferenceError: a is not defined

所以 firebug 不做提升?

最佳答案

问题的原因是

functions do not hoist when declared inside a child block.

来自MDN (这里涵盖的很多内容都不是标准的 ECMAScript)。

比较以下片段:

alert(c());
function c(){return 42;}

{
alert(c());
function c(){return 42;}
}

第一个将警告 42,而第二个将抛出 ReferenceError

下面是当您使用 Firebug 时执行的代码: Firebug's tooltip

data;
with(_FirebugCommandLine){ // >> block begins
console.log(a());
function a(){
console.log("hello");
}
} // << block ends

更新
观察到的行为似乎是 Firefox javascript 引擎中的一个小故障,因为它在 chrome 和 IE9 中没有观察到,请参见 fiddle .

关于javascript - firebug 控制台不进行提升,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11693526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com