1: 一個物件的 原型鏈 中 如果設(shè)定了set,get方法的屬性, 則物件會自動寫入此屬性.
2: 程式碼如下
let test = {
a:1,b:2
}
Object.defineProperty(test,'a',{
set(){
return 'set'
},
get(){
return 'get'
}
})
let o = {};
o.__proto__ = test;
3: 在控制臺中查看 o
4: 為什麼o物件也有了a屬性?
眼見不一定為憑…
不信你Object.getOwnPropertyDescriptor(o, 'a')
與Object.getOwnPropertyDescriptor(test, 'a')
分別執(zhí)行試試看。
這應(yīng)該只是chrome的調(diào)試工具為了方便顯示打造的效果,firefox下就不會出現(xiàn)這種情況。