寄生构造函数模式

wy_ei 2015-06-10 02:17:03
《JavaScript高级程序设计》里面讲到寄生构造函数模式

function Person(name,age,job){
var o = new Object();
o.name = name;
o.age = age;
o.job = job;
o.sayName = function(){
console.log(this.name);
}
return o;
}

var friend = new Person("Nicholas",29,"Software Engineer");


我想知道
var friend = new Person("Nicholas",29,"Software Engineer");
这里为啥要用new呢?
...全文
126 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianma630 2015-06-11
  • 打赏
  • 举报
回复
作用是一样的 生成对象的过程有区别
wy_ei 2015-06-10
  • 打赏
  • 举报
回复
引用 1 楼 KK3K2005 的回复:
你要反过来想 你是 设计对象的 还有一个是 使用你开发的对象 那么 使用的人 不需要知道你的 实现细节 他认为一个对象 就是 new xxx(); 但是你 这里 设计对象的时候 可以 return 指定返回一个 也可以使用常规 不返回 这个时候 使用的人 和你之间 是不是 保持了一个 常态的 调用方式
很有道理的解释,也不知道还有没有其他用意。
KK3K2005 2015-06-10
  • 打赏
  • 举报
回复
你要反过来想 你是 设计对象的 还有一个是 使用你开发的对象 那么 使用的人 不需要知道你的 实现细节 他认为一个对象 就是 new xxx(); 但是你 这里 设计对象的时候 可以 return 指定返回一个 也可以使用常规 不返回 这个时候 使用的人 和你之间 是不是 保持了一个 常态的 调用方式

87,884

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧