ECMAScript 5 新增 Object 接口
生活随笔
收集整理的這篇文章主要介紹了
ECMAScript 5 新增 Object 接口
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
| Object | getPrototypeOf | 返回對象的原型 |
| Object | getOwnPropertyDescriptor | 返回對象自有屬性的屬性描述符 |
| Object | getOwnPropertyNames | 返回一個數組,包括對象所有自有屬性名稱集合(包括不可枚舉的屬性) |
| Object | create | 創建一個擁有置頂原型和若干個指定屬性的對象 |
| Object | defineProperty | 給對象定義一個新屬性,或者修改已有的屬性,并返回 |
| Object | defineProperties | 在一個對象上添加或修改一個或者多個自有屬性,并返回該對象 |
| Object | seal | 鎖定對象。阻止修改現有屬性的特性,并阻止添加新屬性。但是可以修改已有屬性的值。 |
| Object | freeze | 凍結對象,阻止對對象的一切操作。凍結對象將永遠不可變。 |
| Object | preventExtensions | 讓一個對象變的不可擴展,也就是永遠不能再添加新的屬性。 |
| Object | isSealed | 判斷對象是否被鎖定 |
| Object | isFrozen | 判斷對象是否被凍結 |
| Object | isExtensible | 判斷對象是否可以被擴展 |
| Object | keys | 返回一個由給定對象的所有可枚舉自身屬性的屬性名組成的數組 |
這些新增的好處之一是對象的屬性有了更多控制,例如哪些是允許被修改的,哪些是可以枚舉的,哪些是可以刪除的等。這個的實現通過程序訪問對象的屬性描述符(property descriptors). 例如:
var cat = {};Object.defineProperty(cat, "name", {value: "Maru",writable: false,enumerable: true,configurable: false });Object.defineProperty(cat, "skill", {value: "exploring boxes",writable: true,enumerable: true,configurable: true });1.getPrototypeOf 例子
2.Object.create(proto [, propertiesObject ]) 是E5中提出的一種新的對象創建方式,第一個參數是要繼承的原型,如果不是一個子函數,可以傳一個null,第二個參數是對象的屬性描述符,這個參數是可選的。
例子1
function Car (desc) {this.desc = desc;this.color = "red"; }Car.prototype = {getInfo: function() {return 'A ' + this.color + ' ' + this.desc + '.';} }; //instantiate object using the constructor function var car = Object.create(Car.prototype); car.color = "blue"; alert(car.getInfo());例子2
var a = {a: 1}; // a ---> Object.prototype ---> nullvar b = Object.create(a); // b ---> a ---> Object.prototype ---> null console.log(b.a); // 1 (繼承而來)var c = Object.create(b); // c ---> b ---> a ---> Object.prototype ---> nullvar d = Object.create(null); // d ---> null console.log(d.hasOwnProperty);new和Object.create()的區別在哪:
function Constructor(){} o = new Constructor(); // 上面的一句就相當于: o = Object.create(Constructor.prototype);?
轉載于:https://www.cnblogs.com/myzy/p/5909598.html
總結
以上是生活随笔為你收集整理的ECMAScript 5 新增 Object 接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者荣耀亲密度道具怎么获得
- 下一篇: wps office怎么用?(Offic