【问题标题】:Can we call the function by function name after assigning it to a variable.? [duplicate]将函数赋值给变量后,我们可以通过函数名调用函数吗? [复制]
【发布时间】:2016-11-23 04:46:32
【问题描述】:

将函数分配给变量

var sq = function a(s){return s * s};

现在如果我调用 sq(4),我得到的结果是 16,但是如果我尝试使用函数名 a(4) 调用它会抛出错误“a is not defined”

一旦函数被赋值给变量,我们就不能通过函数名来调用它吗?

【问题讨论】:

  • var sq = function a(s){return s * s}; 是命名函数表达式,其中只有变量保存函数,而不是函数的名称...
  • @Giri:不,我是说我写的。
  • @Giri:不,a 仍将引用函数(这是重点)
  • @Giri function a(…){…}; 不会使 a 未定义...
  • 是的。我错了。我以前从未尝试过。

标签: javascript function variables


【解决方案1】:

不,因为您正在使用作业。你可以只做var fn = function () { }var fn = ()=> { } 并得到同样的结果。

如果您创建了该函数,然后将其分配给一个变量,您可以同时执行这两种操作。

基本上,

function fn() {...}

var myFunc = fn;

你可以同时做:

myFunc(); fn();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-03
    • 2016-09-15
    • 2020-09-16
    • 1970-01-01
    • 2018-03-04
    • 2021-01-16
    • 1970-01-01
    • 2020-01-10
    相关资源
    最近更新 更多