JavaScript,执行函数

标签 javascript function function-call

我有下一个功能

  var hideAll = function() {
    // code  
    return ///...  
  };  

我正在像另一个函数中的回调一样使用这个函数。
当我像这样使用它时

function (params, hideAll) {}  

一切正常,但是当我使用时

function (params, hideAll() ) {}    

一切都不好!

所以我的问题是,hideAllhideAll() 函数执行之间有什么区别?

最佳答案

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/

相关文章:

java - CodingBat split53;对使用返回的正确方法感到困惑

Python修改不在函数内部的变量

javascript - 调用 scrollTo 时错位的滚动条

javascript - Bluebird .then() : not working as it should

javascript - jquery/javascript 重新定义函数

python - 函数调用开销 - 为什么内置 Python 内置看起来比我的内置更快?

javascript - 顶点图表文本 chop 自定义

javascript - 提交按钮不会将第二个查询字符串添加到 url

c - 错误 : undefined reference to math functions

c++ - 在头文件中定义非内联函数时出现链接器错误?