0

这是在 Mozilla Firefox Web 控制台上;

> Function instanceof Function;
>true

>Array instanceof Function;
>true

>String instanceof Function
>true
4

2 回答 2

6

因为所有构造函数都是函数,并且Function, Array, 和String都是构造函数(即,您new与它们一起使用)。

于 2012-04-27T16:23:56.593 回答
1

通常人们不会为这些类型使用构造函数,而是选择像[],""function(){}. 但是,您可以使用它们的构造方法创建字符串、数组和函数:

var str = new String("Hello World");

请注意,我们正在调用一个函数 - 字符串构造函数。数组也是如此:

var arr = new Array("Hello", "World");

再次,调用一个函数。这些都是 Function 的实例,因为我们使用了它们的构造函数。这不是文字的情况:

var str = "Hello World";
console.log( str instanceof Function ); // false

var arr = ["Hello", "World"];
console.log( arr instanceof Function ); // false
于 2012-04-27T16:28:04.453 回答