2017年2月9日 星期四

(js)Object.create

function create(prototype){
    var Temp = function () {};

    if (arguments.length > 1) {
        throw Error('Second argument not supported');
    }
    if (prototype !== Object(prototype) && prototype !== null) {
        throw TypeError('Argument must be an object or null');
    }
    if (prototype === null) {
        throw Error('null [[Prototype]] not supported');
    }

    Temp.prototype = prototype;
    var result = new Temp();
 
    // 清除
    Temp.prototype = null;
    return result;
 }