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 に答える