首页 > 网站 > WEB开发 > 正文

JavaScript Patterns 6.4 Prototypal Inheritance

2024-04-27 14:21:20
字体:
来源:转载
供稿:网友

javaScript Patterns 6.4 PRototypal Inheritance

2014-07-18 23:42 by 小郝(Kaibo Hao), ... 阅读, ... 评论, 收藏, 编辑

No classes involved; Objects inherit from other objects.

Use an empty temporary constructor function F(). Set the prototype of F() to be the parent object. Return a new instance of the temporary constructor.

function Object(o) {    function F() {}    F.prototype = o;    return new F();}// object to inherit fromvar parent = {    name: "Papa"};// the new objectvar child = Object(parent);// testingalert(child.name); // "Papa"

Addition to ECMAScript 5

In ECMAScript 5, the prototypal inheritance pattern becomes officially a part of the language. This pattern is implemented through the method Object.create().

var child = Object.create(parent);

Object.create()accepts an additional parameter, an object. The properties of the extra object will be added as own properties of the new child object being returned.

var child = Object.create(parent, {    age: { value: 2 } // ECMA5 descriptor});child.hasOwnProperty("age"); // true

References:

Javascript Patterns -by Stoyan Stefanov(O`Reilly)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表