【问题标题】:TypeError: inner is not a function [duplicate]TypeError:内部不是函数[重复]
【发布时间】:2021-08-07 08:36:52
【问题描述】:

在下面的代码sn-p中,为什么我得到错误inner is not a function?

var inner = 10;

function inner() {
  console.log("Hey type", typeof inner);
}
inner()

【问题讨论】:

  • 变量“inner”和函数“inner”不应同名。当您调用 inner() 时,它已从 int 更改为 function
  • @DedanIrungu 那是错误的。如果inner 是一个函数,就像你说的那样,就不会有错误......

标签: javascript


【解决方案1】:

由于提升在 javascript 中的工作方式,inner 函数声明 被完全声明(并且可调用)之前 inner-variable 被分配了数值.所以你实际上是在第 1 行用一个数字覆盖内部函数。

使用 函数表达式 将输出结果 function。我想这就是你所期望的。

var inner = 10;

var inner = function() {
  console.log("Hey type", typeof inner);
}
inner()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    • 2018-05-09
    • 2020-10-28
    • 1970-01-01
    • 2017-02-13
    • 2017-01-26
    相关资源
    最近更新 更多