您的位置:首页 > Web前端 > JavaScript

javascript创建对象

2017-02-04 22:22 169 查看
仿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';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: