为什么我得到不确定?

时间:2016-01-29 07:21:14

标签: javascript

这是我的代码:

var person = {
    name: 'Greg',
    year: 20
};
Object.defineProperties(person, {
    gender :{
        value: 'male'
    },
    edition : {
        value : 12
    },
    edition : {
        set:function  (No) {
            if (No===13) {
                console.log('Yes')
            };
        }
    }

})
console.log(person.edition)

看起来我做得很好,没有改变描述符 有任何想法吗? 感谢

1 个答案:

答案 0 :(得分:1)

当您编写person.edition时,您正在调用get方法。哪个没有定义。要调用set方法,您需要执行assignment。试试这个:



var person = {
    name: 'Greg',
    year: 20
};
Object.defineProperties(person, {
    "gender" :{
        value: 'male'
    },
    "edition" : {
        value : 12
    },
    "edition" : {
        set:function  (No) {
            if (No===13) {
                console.log('Yes')
            };
        }
        , get:function  () {
            return "hi";
        }
    }

})
console.log(person.edition)
person.edition = 13;