亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

有關臨時對象被銷毀的問題。

當完成訪問以后零食對象會被銷毀掉,那問什么alert(a.length)返回了6,沒被銷毀,然而alert( a.t )卻返回undifined,被銷毀了呢?

正在回答

2 回答

我的理解是,調用length的時候,a會變成String對象,既然是對象那么就有方法和屬性,所以就可以使用length方法了,假設a.length顯示為6然后銷毀,于是我們手賤再來次a.length于是乎再一次a變為了String對象再次調用length屬性,顯示6后再次銷毀;但是a.t=5意味著先將a轉換為String對象由于String對象沒有t屬性,于是a.t在此刻創建了一個臨時屬性t,它和length相比length早已存在在String中而t卻是我們剛剛創建的,于是我們輸入完a.t=5;之后t屬性立即銷毀,如果再次輸入a.t顯示undefined;這很正常t在前邊已被銷毀意味著前邊我們在String對象創建的臨時t屬性已被銷毀,那么此時我們的t屬性編譯器怎么能認識?如果我們alert(a.t=5)這時編譯器會彈出5這個選框,然后t被銷毀,我們再次alert(a.t)會發現是undefined,原因同上t被銷毀了,至于length同樣也被銷毀了,但是length是實打實的存在于String對象中只要轉換為String對象,那么String必然有length屬性。

0 回復 有任何疑惑可以回復我~

每次將基本數據類型當作對象使用的時候, 是臨時包裝的,用完一次馬上就會刪除,當a.length的時候,不管如何創建如何刪除,它本來的值就是6是不變的。但是a.t確不一樣,它是不存在的,你第一次賦值給a.t的時候創建了臨時對象,但是調用完馬上刪除, 這個時候你在去訪問a.t的值, 又建立了一個新的臨時對象,肯定值是沒有定義過的。

length是一直存在,而t是不存在的。

2 回復 有任何疑惑可以回復我~
#1

_Jack_Han_

請問a.t是什么意思?
2016-05-13 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

有關臨時對象被銷毀的問題。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號