typeof

Posted 我啊我

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typeof相关的知识,希望对你有一定的参考价值。

var f = function g() {
        return 23;
    };
typeof g();
如果是typeof f,结果是function
如果是typeof f(),结果是number
如果是typeof g,结果是undefined.
如果是typeof g(),结果是ReferenceError,g is not defined
----------------------------------------------------------------------------------
在 JS 里,声明函数只有 2 种方法:
第 1 种: function foo(){...} (函数声明)
第 2 种: var foo = function(){...} (等号后面必须是匿名函数,这句实质是函数表达式)

除此之外,类似于 var foo = function bar(){...} 这样的东西统一按 2 方法处理,即在函数外部无法通过 bar 访问到函数,因为这已经变成了一个表达式。

但为什么不是 "undefined"?
这里如果求 typeof bar ,会返回 undefined,但求的是 typeof bar(),所以会去先去调用函数 bar(),这里就会直接抛出异常,因为找不到bar函数,所以是 Error。

以上是关于typeof的主要内容,如果未能解决你的问题,请参考以下文章

我们可以简化这段代码吗?显示 = typeof 显示 == '未定义' ?未定义:!显示

typeof知多少

为啥 typeof 函数返回“函数”?

JavaScript typeof()

typeof和instanceof简介及用法

从typeof()说起