我试图让自己从具有if
语句中一个很长的代码块,所以我想调用另一个函数到当前范围:内的另一个范围运行功能
var f = function(){ alert(a); };
(function(){
var a = "abc.";
f(); //undefined
eval("("+f+")()"); //this works, but eval is evil
})();
我我可能会错过一些关于范围的基本知识,甚至是其他(更好)的方法来处理整个事情,但我无法弄清楚它是什么。任何想法如何做到这一点?我不想通过函数参数传递我需要的变量。
在此先感谢!
+1,因为这可能是最好的方法 - 将变量放在作用域链上而不使其成为全局变量。 – RobG