如果我想首先声明一个函数,然后在某些时候我想引用函数而不是它的变量返回值,我该怎么做?
var best = bestPresidentEver;
function bestPresidentEver(a,b){
//for some reason always returns Trump.
}
and then call best(a,b) instead of bestPresidentEver(a,b)
我想知道如何做到这一点,而不是在声明时将函数赋值给var。
var best =
function bestPresidentEver(a,b){
//for some reason always returns Trump.
}
答案 0 :(得分:1)
像这样声明你的变量
var bestPresidentEver= function (a,b){
//for some reason always returns Trump.
return "Trump"; //:D
}
然后像这样调用该函数
//You have to declare a and b variables
var trumpHere = bestPresidentEver(a,b);
如果您的函数已经声明,只需将其分配给变量:
function bestPresidentEver (a,b){
//for some reason always returns Trump.
return "Trump"; //:D
}
var trumpHere = bestPresidentEver;
然后这样称呼:
var trumpAgain = trumpHere(a, b);
答案 1 :(得分:1)
如果变量存在而且它不是const
,您只需将其值重新分配给函数本身即可。
防爆
var foo = 'foo';
function bar(a) {
return 'example ' + a;
}
bar('code'); //=> "example code"
/* Further down, reassign the `foo` variable */
foo = bar;
foo('code, again'); //=> "example code, again"
我正在使用SignalR,我需要将它指向一个函数,我还想在应用程序的其他区域调用该函数。
如果库需要一个函数参数,你可以简单地传递那个函数。
function first(next /* expects a function parameter */) {
return next('hello');
}
function second(prefix) {
return prefix+ ' world!';
}
first(second); //=> "hello world!"