1. 解释

使用Object.defineProperty(对象,属性名,GetSet方法对象),可以为某个对象设置属性和属性值。
在为对象设置属性值和提取属性值的时候,都可以添加额外功能。

2. 代码示例

var obj = {
    name:"Zhang"
};

var ageValue;

Object.defineProperty(obj,"age",{
    get(){
        console.log("正在获取age属性");
        return ageValue;
    },
    set(value){
        console.log("正在设置age属性");
        ageValue = value;
    }
});

console.log(obj.age);
obj.age = 100;
console.log(obj.age);

运行以上代码输出结果如下:
file

发表评论

邮箱地址不会被公开。 必填项已用*标注