每日一題20191203

var a = 10;
a.pro = 10;
console.log(a.pro + a);

var s = "hello";
s.pro = "world";
console.log(s.pro + s);

解析:JavaScript引擎內部在處理對某個基本類型a進行形如a.pro的操作時,會在內部臨時創建一個對應的包裝類型(對數字類型來說就是Number類型)的臨時對象,並把對基本類型的操作代理到對這個臨時對象身上,使得對基本類型的屬性訪問看起來像對象一樣。但是在操作完成後,臨時對象就銷燬了,下次再訪問時,會重新建立臨時對象,當然就會返回undefined了
答案:NaN undefinedhello

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章