這是在Mozilla Firefox Web控制檯上;爲什麼Javascript的instanceof對這些本地構造函數返回true?
> Function instanceof Function;
>true
>Array instanceof Function;
>true
>String instanceof Function
>true
這是在Mozilla Firefox Web控制檯上;爲什麼Javascript的instanceof對這些本地構造函數返回true?
> Function instanceof Function;
>true
>Array instanceof Function;
>true
>String instanceof Function
>true
因爲所有構造函數的功能,Function
,Array
和String
是所有構造函數(即您使用new
他們)。
,通常人們不使用構造這些類型,而是選擇文字像[]
,""
和function(){}
。但是,您可以使用其構造函數方法創建字符串,數組和函數:請注意,我們正在調用一個函數 - 字符串構造函數。陣列的情況也是如此:
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-27 16:23:39