(function() {
// 第一种 {}
var $路人女主养成方法 = {
_信息方法 : function(_名字, _年龄, _职业) {
var $路人女主 = Object.create(this);
$路人女主._名字 = _名字;
$路人女主._年龄 = _年龄;
$路人女主._职业 = _职业;
return $路人女主;
},
_养成方法 : function() {
var $女主 = this;
alert('第一种: \n名字: ' + $女主._名字 + '\n年龄: ' + $女主._年龄 + '\n职业: ' + $女主._职业);
}
},
$女主数据 = [
$路人女主养成方法._信息方法('霞之丘诗羽', 18, '学生 & 小说家'),
$路人女主养成方法._信息方法('加藤惠', 17, '学生'),
$路人女主养成方法._信息方法('泽村·史宾瑟·英梨梨', 16, '学生&漫画家')
];
$女主数据.forEach(function($数据) {
$数据._养成方法();
});
})();
(function() {
// 第二种 new
function $路人女主信息(_名字, _年龄, _职业) {
var $路人女主 = this;
$路人女主._名字 = _名字;
$路人女主._年龄 = _年龄;
$路人女主._职业 = _职业;
}
$路人女主信息.prototype._养成方法 = function() {
var $女主 = this;
alert('第二种:\n名字: ' + $女主._名字 + '\n年龄: ' + $女主._年龄 + '\n职业: ' + $女主._职业);
};
var $女主数据 = [
new $路人女主信息('霞之丘诗羽', 18, '学生 & 小说家'),
new $路人女主信息('加藤惠', 17, '学生'),
new $路人女主信息('泽村·史宾瑟·英梨梨', 18, '学生&漫画家')
];
$女主数据.forEach(function($数据) {
$数据._养成方法();
});
})();
一种是 创建对象{}方式
一种是 原型new 方式
这两种写法哪种写法好? 还有性能方面和复用性?(变量名=>纯属娱乐)
一般情况如果这个对象不需要复用,有多个实例,那推荐用{}这种字面量的方式,可读性更好
要用new的情况是你有一个工厂函数,需要生成多个类似的对象