【发布时间】:2012-08-07 05:59:57
【问题描述】:
可以吗?
我有以下几点:
populate.func = function(node, state) {
return (new function(data) { /* stuff*/ });
}
但是,无论我使用常规调用约定还是 call 方法,调用 populate.func 都会同时调用被调用函数和返回函数。我希望能够调用 populate.func 并将函数作为一个值返回以供使用,而无需实际运行它......
【问题讨论】:
-
为什么是
new?没有它它应该可以工作。我的意思是,说infunc = function(data){ /* stuff*/ };你这样做:return infunc; -
你想把函数作为字符串返回吗?
-
新,因为我读到这是一个技巧,通过引用传递函数,并以当你将函数作为参数传递时的状态传递变量,而不是在它被调用时传递变量。我认为它这样做是因为只要维护指向子函数的指针,父函数也不能被垃圾收集,也不能被它的调用堆栈。什么的。
-
@RobF 你被严重误导了,去阅读更多关于javascript的内容......
标签: javascript function