情况1:
<script type="text/javascript">
function Person(){
}
var friend = new Person();//位置不同,产生不同效果
//重写原型对象切断了现有原型与任何之前已经存在的对象实例之间的联系
Person.prototype = {
constructor : Person,
name : '高伟刚',
age : 24,
job : 'Software Engineer',
sayName : function(){
alert(this.name);
}
}
friend.sayName();//error,不支持的属性或方法
</script>
图6-3展示上面过程的内幕:

情况2:
<script type="text/javascript">
function Person(){
}
Person.prototype = {
constructor : Person,
name : '高伟刚',
age : 24,
job : 'Software Engineer',
sayName : function(){
alert(this.name);
}
}
var friend = new Person();
friend.sayName();//“高伟刚”
</script>
图6-4展示上面过程的内幕:画图
本文详细解析JavaScript中原型对象与实例的关系,通过两个具体情况展示如何修改原型对象及其对实例的影响,包括实例属性访问与方法调用。通过图示直观呈现内部实现过程。
532

被折叠的 条评论
为什么被折叠?



