“function”== typeof变量是什么意思?

时间:2015-07-15 07:23:10

标签: javascript

if ("function" == typeof type) {        
      msg = type;         
      type = "";
    }

我对Javascript很新。我读过第三方js书[http://thirdpartyjs.com/]。我正在看几个示例代码来理解逻辑。我对这部分剧本感到震惊。我的问题是这个if语句的功能是什么?为什么功能在“”。这是否意味着函数是一个对象?。

提前致谢

2 个答案:

答案 0 :(得分:2)

  

这个if语句的功能是什么?

它检查type变量是否是函数引用

  

为什么函数在“”

因为typeof总是返回一个字符串

  

这是否意味着该功能是一个对象?

函数确实是对象,但我不确定这个问题究竟是什么意思。

答案 1 :(得分:2)

我想知道提问者是否可能陷入了一些有些不直观的反向问题。比较风格。

if ("function" == typeof type) { 

与以下内容相同:

if (typeof type  == "function" ) { 

即。我们正在检查名为' type'的变量的类型。是"功能"。

正如doldt已经提到的,typeof会将类型作为字符串返回,因此引用。