您的位置:首页 > Web前端 > JavaScript

JavaScript使用原型方式创建对象所带来的问题

2015-05-06 18:51 579 查看
<script>
/**
* 基于原型的创建虽然可以有效的完成封装,但是依然有一些问题
* 1、无法通过构造函数来设置属性值
* 2、当属性中有引用类型变量时,可能存在变量值重复
*/
function Person() {};
Person.prototype = {
constructor:Person,
name:"Jack",
age:30,
friends:["Ada", "Linda"],
say:function(){
alert(this.name + "[" + this.friends + "]");
}
}
var p1 = new Person();
p1.name = "john";
p1.say();
// 会在原型中招friends,所以Mike是在原型中增加的
p1.friends.push("Mike"); // 为p1增加了一个朋友
// 此时原型中就多了一个Mike,这就是原型带来的问题
var p2 = new Person();
p2.say();

</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐