1,對象跟基本類型之間的轉(zhuǎn)換: 不管何時,只是對象非空,在布爾環(huán)境中都為true. 如; new Boolean(false); new Number(0); new String(“”); new Array(); 上面雖然內(nèi)部值是false,但對象的值是true; Object ? valueOf() ? toString() 其中Date類,是先執(zhí)行toString()轉(zhuǎn)換。
Js通過傳值和傳址2種方式操作這些數(shù)據(jù)的值。 從名稱可以看處,傳值 是通過傳遞值來操作數(shù)據(jù)。在賦值的過程中,對實際的值進行了拷貝,存儲到一個新的變量中。拷貝的值和原來的值是2份完全獨立的值。所以如果你改變了拷貝的值,并不會影響原來的值。當(dāng)比較大小時候,通常進行琢個字節(jié)比較。 傳址 從名字來看,就是通過傳遞地址來操作數(shù)據(jù)。在賦值的過程中,對實際的值的地址(可以說是引用)進行了拷貝,他們不是完全的獨立,所以如果你通過引用改變了值,那么原始的值也會改變。當(dāng)比較大小的時候,通常是看他們是否引用同一個地址來比較。 簡單的傳址例子: var a = new Date(); alert(a.getDate()); var b = a ; b.setDate(21); alert(a.getDate()) // 輸出21