臨時對象創建后被銷毀
1. var str = "string"; 2. str.t = 5; //5 3. alert(str.t) //undefined 請問:定義基本類型str,步驟2中把基本類型str當做對象訪問,解釋器創建屬性t并賦值成功后就銷毀,后面代碼也不能用,那創建的這個屬性有什么用????
1. var str = "string"; 2. str.t = 5; //5 3. alert(str.t) //undefined 請問:定義基本類型str,步驟2中把基本類型str當做對象訪問,解釋器創建屬性t并賦值成功后就銷毀,后面代碼也不能用,那創建的這個屬性有什么用????
2016-05-15
舉報
2016-05-15
1.?var str = "string"; 這個str是基本類型string,2.?str.t = 5 基本類型怎么會有屬性和方法呢? 因為此時js引擎中會自動創建一個對象,即 var str = new String('string');然后再調用這個對象的方法和屬性,你的 str.t = 5 語句確實沒問題,但是str (這里我叫做0號)這個對象,僅僅在代碼執行的一瞬間被創建,然后馬上被銷毀,3.??alert(str.t)?//undefined 此時的str.t 又會創建一個新的str對象(這個就是1號),和之前創建的str對象(0號)是不同的對象,而這個新的str對象(1號)剛創建,哪來的t屬性?所以會彈出?undefined