【发布时间】:2011-11-12 16:22:27
【问题描述】:
我试图避免在 if 语句中包含很长的代码块,因此我试图在当前范围内调用另一个函数:
var f = function(){ alert(a); };
(function(){
var a = "abc.";
f(); //undefined
eval("("+f+")()"); //this works, but eval is evil
})();
我可能遗漏了有关范围的一些非常基本的内容,甚至遗漏了其他(更好的)方法来处理整个事情,但我无法弄清楚它是什么。关于如何做到这一点的任何想法?我不想通过函数参数传入我需要的变量。
提前致谢!
【问题讨论】:
标签: javascript function object scope