1. number, string, boolean(聲明方式加不加new的區別) var a = number( 1 ) 返回數字 1 var b = string( false ) 返回字元串 'false' var c = boolean( 1) 返回布爾值 true (5個false值: 0 ...
1. number, string, boolean(聲明方式加不加new的區別)
var a = number( 1 ) ------------返回數字 1
var b = string( false )---------------返回字元串 'false'
var c = boolean( 1)-----------返回布爾值 true (5個false值: 0 , NaN , ' ' , undefined , null)
以上三種聲明方式都是返回基本類型
var a = new number( 1 )
var b = new string( false )
var c = new boolean( 1)
以上三種返回的是對象(hash)
2. Object (Array 和function)(加不加new都一樣是返回對象)
註意:Arry的不一致性
var a = Array(3)-------生成一個長度為3的數組,裡面有3個undefined即 { , , } ---------------------------只有一個值的時候體現不一致性,兩個或以上正常生成數組
var a = Array(3,3)------生成長度為2的數組即 {3,3}
var a Array(3,3,3)-----生成長度為3的數組即 {3,3,3}
----------------------------------------------------------------------------------------------------------
a.__proto__ === Array.prototype
Array.prototype為Array的公有屬性
function ( 加不加new都一樣 )
var f = function(a,b){
return a + b
}
var f = new Function('a', 'b' , 'return a + b')