2

我有这样的功能: -

function test() {
    // code here
}

我想将该函数分配test()给一个全局变量,以便我应该能够使用window.newName(). 我该如何分配这个?

我试过window.newName = test();了,但没有用。请指教。

4

4 回答 4

3

你很接近:

window.newName = test;

如果像您一样包含大括号,它将分配执行函数的结果,而不是函数本身。

于 2012-12-18T14:28:07.870 回答
2

使用时,window.newName = test()您实际上是在激活函数,这样,变量将获得函数返回的值(如果有),而不是对函数的引用。

你应该这样做:

window.newName = test;
于 2012-12-18T14:29:15.920 回答
1

不要调用变量,只需分配它:

window.newName = test;

如果您不需要使用其原始名称来调用它,您也可以使用函数表达式:

window.newName = function() {
    // code here
};
于 2012-12-18T14:29:22.957 回答
1

当你这样做时window.newName = test(),它的真正意思是“调用test,并将其返回值分配给window.newName.

你想要的是window.newName = test;

于 2012-12-18T14:33:59.680 回答