码迷,mamicode.com
首页 > 其他好文 > 详细

typeof

时间:2017-03-10 17:42:26      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:bsp   声明   index   line   找不到   lin   dex   function   alt   

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

标签:bsp   声明   index   line   找不到   lin   dex   function   alt   

原文地址:http://www.cnblogs.com/aixiuxiu/p/6531568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!