Javascript用定义多个属性方法却赋不了值
天蓬老师
天蓬老师 2017-04-11 09:20:59
[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]
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(2)
天蓬老师

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

value:2004,
writable: true

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

大家讲道理

通过defineProperty定义的对象属性默认是不可写的。要想能够改变属性值,需要添加writable: true

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号