通过原型继承创建一个新对象

function inherit(p){
    if(!p){
        throw TypeError("p is not an object or null");
    }
    if(Object.create){
        return Object.create(p);
    }
    var t=typeof p;
    if(t !== "object" && t !== "function"){
        throw TypeError("p is not an object or null");
    }
    function f(){};
    f.prototype=p;
    return new f();
}

注意:这种方法不能处理参数为null的情况。


所属标签

无标签