当前位置:编程学习 > JAVA >>

javascript 原型对象的问题

a 和 b两个变量都赋值为Person的原型 为什么,他们会不相等?不是同一个Person? function Person(){} var a = Person.prototype; var p = new Person(); var b = Person.prototype; alert(a == b)//false
追问:好吧,是true ...
其实,我的问题是这个:
为什么name还是undefined ,
function Person(){}
var person = new Person();
Person.prototype = 
{
 name : "123" 
}
alert(person.name);都是Person的实例,是同一个Person啊..
答案:我运行代码的结果是true,因为我觉得应该是true,请你再运行一遍代码吧。
其他:不是同一个person,属性方法会一样吗?为什么会相等。 会不一样么???
你是不是写错了。
var a = Person.prototype;
var p = new Person();
var b = Person.prototype;
a 和 b 这两句话是一样的啊。当然 a==b  为true的。
 
如果你本来是想写成这样的话:
var a = Person.prototype;
var p = new Person();
var b = p.prototype;
 
一个是函数的原型,一个是对象的原型,都不是同一个东西的原型,当然不一样。
你是个初学者哦 

上一个:我的世界JAVA为什么安装不了
下一个:linux中basedir和homedir的区别是什么?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,