Joh*_*nm1 3 javascript scope function referenceerror
有没有办法让下面的代码工作?
(function(){
var n = "abc";
(new Function("return alert(n);"))();
})();
Run Code Online (Sandbox Code Playgroud)
如果我在浏览器中运行代码结果是:" 未捕获的ReferenceError:n未定义 ".
此外,我还需要一些其他变量,如"n",也可以在"新函数"中访问.
请帮忙,谢谢
当您使用该new Function方法(eval顺便说一句)时,您的代码将在全局范围内执行! n只存在于匿名函数中,它不是全局的.
你不应该使用,new Function除非它是100%必要的.
(function(){
var n = "abc";
(function(){return alert(n);})();
})();
Run Code Online (Sandbox Code Playgroud)
PS alert返回undefined所以return alert()没有做任何有用的事情.