gpt4 book ai didi

javascript - 为什么javascript函数中括号无法访问外部?

转载 作者:行者123 更新时间:2023-12-03 10:15:22 27 4
gpt4 key购买 nike

我很好奇,为什么不只是 javascript 函数作用域呢?为什么只加一个括号就不能访问呢?我的猜测是括号和javascript相关的操作,但是不知 Prop 体为什么要这样子的原理和设计?

(function test(){
console.log( test );
})();
test();//Uncaught ReferenceError: test is not defined IE8- is ok

(function test(){
console.log( test );
});
test();//Uncaught ReferenceError: test is not defined IE8- is ok

最佳答案

当您像您一样将函数括在括号中时,它确实会将其放入新的作用域中。

它的作用也类似于返回值,这就是为什么它可以被称为 IIFE,或立即调用函数表达式。

另一种重写方式会更有意义,如下所示:

var myFunc = (function test(){
alert('Hello!');
});

myFunc(); // Works!
test(); // Doesn't work!

关于javascript - 为什么javascript函数中括号无法访问外部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29896440/

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