Javascript學習---原型方法
阿新 • • 發佈:2018-11-07
原型的基本方法
Javascript提供了原型的相關方法來獲取或設定原型prototype,如下:
(1)Object.create(proto[, descriptors]) :產生一個新的物件並設定proto為它的原型;
(2)Object.getPrototypeOf(obj) :返回物件obj的原型物件;
(3)Object.setPrototypeOf(obj, proto):設定物件obj的原型物件為proto;
下面是一個例子:
let animal = { eats: true }; // create a new object with animal as a prototype let rabbit = Object.create(animal); alert(rabbit.eats); // true alert(Object.getPrototypeOf(rabbit) === animal); // get the prototype of rabbit Object.setPrototypeOf(rabbit, {}); // change the prototype of rabbit to {}
Object.create(proto[, descriptors])的第二個引數是描述符,我們可以在該原型物件的基礎上再新增一些屬性,例如:
let animal = {
eats: true
};
let rabbit = Object.create(animal, {
jumps: {
value: true
}
});
alert(rabbit.jumps); // true
alert(rabbit.eats); //true
我們推薦使用Obejct.create()方法來複制一個物件,這種方式明顯比for...in要好,例如:
// fully identical shallow clone of obj let clone = Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));
這種方式能夠徹底地複製一個物件,包括被複制物件的所有屬性:Symbol屬性,資料屬性和訪問器屬性等等