第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在JS中,什么時候會用到Object.defineProperty()來設置或者修改對象屬性?

在JS中,什么時候會用到Object.defineProperty()來設置或者修改對象屬性?

精慕HU 2018-08-07 10:09:51
JS初學:創(chuàng)建對象時,可以用var student={             name:"LILY",             age:12,             grade:1         };那什么時候用到Object.defineProperty()修改屬性值呢?student.name="pp";這樣修改屬性值和defineProperty()有什么區(qū)別呢?
查看完整描述

1 回答

?
米琪卡哇伊

TA貢獻1998條經(jīng)驗 獲得超6個贊

Object.defineProperty(Object.prototype, 'foo', {value: function() {console.log(foo);}});

(這樣添加的屬性是不可修改不可枚舉不可再次配置的)

當你非要給原生類原型添加方法時,不用 defineProperty 就會給其它程序(如 for in)添加麻煩

當然 getter/setter 要兼容性的話也得要,不然

var obj = {    _name: null,
    get name() {        return this._name;
    }
    set name(val) {        this._name = val;
    }
};

會在不支持的瀏覽器報語法錯(沒救了,除非 eval)

此時的使用方法:

Object.defineProperty(obj, 'name', {get: function() {return this._name;}, set: function(val) {this._name = val;}});


查看完整回答
反對 回復 2018-09-18
  • 1 回答
  • 0 關注
  • 965 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號