我有下一个功能
var hideAll = function() {
// code
return ///...
};
我正在像另一个函数中的回调一样使用这个函数。
当我像这样使用它时
function (params, hideAll) {}
一切正常,但是当我使用时
function (params, hideAll() ) {}
一切都不好!
所以我的问题是,hideAll
和 hideAll()
函数执行之间有什么区别?
最佳答案
hideAll
- 这是对函数的引用
hideAll()
- 这是函数的执行及其结果
function (params, hideAll) {}
是正确的函数定义,
而 function (params, hideAll() ) {}
则不然 - 您无法在函数定义中调用另一个函数。
但是您仍然可以编写以下有效代码:
var hideAll = function() {
// code
return ///...
};
var functionWithCallback = function(callback){
callback();
}
var closureReferringHideAll = function(){
hideAll();
}
// The following two lines will do exactly the same in current context,
// i.e. execute hideAll.
functionWithCallback(hideAll);
closureReferringHideAll();
关于JavaScript,执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11683120/