亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

javascript - es5中Object.seal()密封對象后,可以修改對象原型上的屬性嗎?

瀏覽:80日期:2022-11-21 10:57:15

問題描述

mdn的解釋是這樣的javascript - es5中Object.seal()密封對象后,可以修改對象原型上的屬性嗎?

翻譯說的是不影響原型上繼承的屬性,但是__proto__屬性的值不能修改,然后自己就親自測試了一下,發現密封對象后原型可以刪除和修改,然后就不理解這句話的表達是否準確。。。代碼如下

let obj_origin, obj_changed;function Person() { this.name = ’sheng’; this.age = ’25’;}Person.prototype = { constructor: Person, sing () {alert(’sing’); }, prototypeTarget:’prototypeTarget’};obj_origin = new Person();obj_changed = Object.seal(obj_origin);delete obj_changed.name;delete obj_changed.__proto__.prototypeTarget;console.log(obj_changed);

javascript - es5中Object.seal()密封對象后,可以修改對象原型上的屬性嗎?原型上的prototypeTarget屬性被刪除了

問題解答

回答1:

通常情況下,一個對象是可擴展的(可以添加新的屬性)。密封一個對象會讓這個對象變的不能添加新屬性,且所有已有屬性會變的不可配置。屬性不可配置的效果就是屬性變的不可刪除,以及一個數據屬性不能被重新定義成為訪問器屬性,或者反之。但屬性的值仍然可以修改。嘗試刪除一個密封對象的屬性或者將某個密封對象的屬性從數據屬性轉換成訪問器屬性,結果會靜默失敗或拋出TypeError 異常(嚴格模式)。

不會影響從原型鏈上繼承的屬性。但 proto 屬性的值也會不能修改。

資料來自:https://developer.mozilla.org...

回答2:

_proto_是內部私有屬性 而不是原型屬性

詳情可閱讀 https://developer.mozilla.org...

標簽: JavaScript
主站蜘蛛池模板: 亚洲一区国产 | 亚洲一级特黄特黄的大片 | 大尺度福利视频在线观看网址 | 亚洲在线不卡 | 激情综合网五月激情 | 在线视频欧美亚洲 | 黑人操| 一级毛片视频 | 国产乱码精品一区二区三区网页版 | 国产精品伦子一区二区三区 | 久久精品全国免费观看国产 | 国产一二三区四区乱码2021 | 久久久久久久综合狠狠综合 | 香蕉看片| 综合精品 | 国产精品偷伦视频免费观看的 | 成年黄网站免费大全毛片 | 国产精品入口免费麻豆 | 91亚洲精品一区二区在线观看 | 国产亚洲精品福利在线 | 一级片免费视频 | 中日韩一区二区三区 | 欧美一级毛片片aa视频 | 国产高清在线精品一区αpp | 97午夜| 一级做a爰片久久毛片 | 日韩精品电影一区 | 亚洲国产日韩女人aaaaaa毛片在线 | 狠狠狠色丁香婷婷综合久久五月 | 99久久免费国产精品特黄 | 美国黄色a级片 | 精品成人毛片一区二区视 | 国产精品免费一级在线观看 | 三级全黄a| 瑟妃19禁福利视频在线看mp4 | 国产精品自在线拍 | 免费看欧美日韩一区二区三区 | 一级毛片高清免费播放 | 色视频在线免费观看 | 国产91长腿美女在线观看 | 国产日产欧产精品精品推荐在线 |