Javascript用定义多个属性方法却赋不了值

查看:96
本文介绍了Javascript用定义多个属性方法却赋不了值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

var book={};
Object.defineProperties(book,{

_year:{
    value:2004
},
edition:{
    value:1
},
year:{
    get:function () {
        return this._year;
        // body...
    },
    set:function(newValue){
        if (newValue>2004) {
            this._year=newValue;
            this.edition+=newValue-2004;
        }
    }
}

});

   book.year=2005;
   console.log(book.year);![图片描述][1]

解决方案

通过Object.defineProperties定义对象属性,如果没有配置 writable: true 的话默认writable:false`_year:{

value:2004,
writable: true

},`
这样就可以配置_year属性可写入

这篇关于Javascript用定义多个属性方法却赋不了值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆