Asen0713a 2017-01-09 16:17 采纳率: 50%
浏览 759

JavaScript多种属性自定义问题

 <script type="text/javascript">
    var book = {};

    Object.defineProperties(book, {
        _year : {
            value : 2004
        },

        edition : {
            value : 1
        },

        year : {
            get : function () {
                return this._year;
            },

            set : function (newValue) {
                if (newValue > 2004) {
                    this._year = newValue + 0;
                    this.edition += newValue - 2004;
                }
            }
        }

    });

    book.year = 2005;
    alert(book.edition);
    alert(book._year);

</script>

这是我的js代码,调试结果如下
图片说明
图片说明

麻烦各位兄弟了,小弟在此谢过

  • 写回答

2条回答 默认 最新

  • 迷茫猿小明 2017-01-10 01:52
    关注

    在_year和edition里边添加一个属性writable:true,如下,具体原理还得求其他回答
    _year:{
    writable:true,
    value:2004
    }

    评论

报告相同问题?