javascript - 物件,原型鏈中有設定了set,get方法的屬性. 則物件中也會自動寫入此屬性
世界只因有你
世界只因有你 2017-06-28 09:26:57
0
1
865

1: 一個物件的 原型鏈 中 如果設定了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屬性?

世界只因有你
世界只因有你

全部回覆(1)
学霸

眼見不一定為憑…

不信你Object.getOwnPropertyDescriptor(o, 'a')Object.getOwnPropertyDescriptor(test, 'a')分別執行試試看。

這應該只是chrome的調試工具為了方便顯示打造的效果,firefox下就不會出現這種情況。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板