Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Javascript的instanceof对于这些本机构造函数返回true?_Javascript_Prototype - Fatal编程技术网

为什么Javascript的instanceof对于这些本机构造函数返回true?

为什么Javascript的instanceof对于这些本机构造函数返回true?,javascript,prototype,Javascript,Prototype,这是在Mozilla Firefox web控制台上 > Function instanceof Function; >true >Array instanceof Function; >true >String instanceof Function >true 因为所有构造函数都是函数,而函数、数组和字符串都是构造函数,也就是说,它们都使用new。通常人们不会对这些类型使用构造函数,而是选择像[]和函数{}这样的文本。但是,您可以使用其构造函数方法创

这是在Mozilla Firefox web控制台上

> Function instanceof Function;
>true

>Array instanceof Function;
>true

>String instanceof Function
>true

因为所有构造函数都是函数,而函数、数组和字符串都是构造函数,也就是说,它们都使用new。

通常人们不会对这些类型使用构造函数,而是选择像[]和函数{}这样的文本。但是,您可以使用其构造函数方法创建字符串、数组和函数:

var str = new String("Hello World");
请注意,我们正在调用一个函数-字符串构造函数。阵列的情况也是如此:

var arr = new Array("Hello", "World");
同样,调用一个函数。这些都是函数的实例,因为我们使用了它们的构造函数。文字的情况并非如此:

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

var arr = ["Hello", "World"];
console.log( arr instanceof Function ); // false