javascript创建对象
仿Object.create
if (typeof Object.create != 'function') { Object.create = (function(undefined) { var Temp = function() {}; return function (prototype, propertiesObject) { if(prototype !== null && prototype !== Object(prototype)) { throw TypeError('Argument must be an object, or null'); } Temp.prototype = prototype || {}; var result = new Temp(); Temp.prototype = null; if (propertiesObject !== undefined) { Object.defineProperties(result, propertiesObject); } // to imitate the case of Object.create(null) if(prototype === null) { result.__proto__ = null; } return result; }; })(); }
以下的方式主要是为了避免忘记写new而封装的方法; //先创建函数 Object.beget = function (o) { var F = function (o) {}; F.prototype = o ; return new F; }; //定义好模板对象 var Cat = { name:'', saying:'meow' }; //从模板对象中创建一个对象 var myCat = Object.beget(Cat); //对象生成后,可以自行对相关属性进行赋值: myCat.name = 'mimi';