关于函数原型的问题

binbin 2014-11-07 07:30:53
function Person(){
this.name = arguments[0];
this.age = arguments[1];
}

var gg ={
constructor:Person,
friends:["Court","Greg","Nicholas"],
Color:"yellow"
};

Person.prototype =gg;

var pe = new Person("H&G",29);
pe.friends.push("gg");
pe.Color="red";
alert(pe.Color); // 弹出的是 red
alert(gg.Color); //弹出的是yellow

为啥 一个弹出red , 而一个弹出的是 yellow
按照我的分析 gg 指向和pe的函数原型都是指向同一个对象的, 应该都为red 才对哦啊!
还请指点

...全文
85 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
似梦飞花 2014-11-07
  • 打赏
  • 举报
回复
pe.Color="red";是将给pe添加了Color属性 而不是原型上 pe.constructor.prototype.Color='red';改成这样试试

87,907

社区成员

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

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