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