【笔记】 《js权威指南》- 第6章 对象 - 6.1 创建对象

1.Object.create():(仅ECMAScript5)

用于构建一个新对象,第一个参数是这个对象的原型,第二个参数对属性进行描述:

//o1继承属性x, y
var o1 = Object.create({x: 1, y: 1});
//不继承任何原型的对象
var o2 = Object.create(null);
//等同于{}和new Object()
var o3 = Object.create(Object.prototype);

2.实现一个继承对象(兼容版本):

function inherit(p) {
    if (p == null) throw TypeError();
    if (Object.create)
        return Object.create(p);
    //兼容
    var t = typeof p;

    if (t !== "object" && t !== "function")
       throw TypeError();

    function f() {};
    f.prototype = p;
    return new f();
}

//使用继承函数防止工具库意外修改原始对象属性
var o = {x: 1};
lib_func(inherit(o));



你可能感兴趣的:(继承,create)