问问题
92 次
1 回答
2
这与 eval 无关。当你说
foo();
this
inside foo 将始终是全局对象(除非该函数是用bind
-- 见下文)。你有几个选择:
您可以使用“预设”此值bind
//won't work on IE8 - will have to shim `bind`
var foo = eval('func.foo.bind(func)');
this
或者您可以在调用函数时手动设置值call
var foo = eval('func.foo');
foo.call(func);
是的,正如 nbrooks 所说,应该不鼓励使用 eval 。
于 2012-12-24T16:11:35.117 回答