<html>
<head>
<script type="text/javascript">
/*弊端:如果使用原型方式创建对象,那么生成的所有对象会共享原型中的属性,
这样一个对象改变了该属性也会反应到其他对象当中。代码如下:*/
function Person()
{}
Person.prototype.username = new Array();
Person.prototype.password = "0123";
Person.prototype.getInfo = function()
{
alert(this.username + ":" + this.password);
}
var person = new Person();
var person2 = new Person();
person.username.push("zhangsan");
person.username.push("lisi");
person.password = "0000";
person.getInfo();
person2.getInfo();
</script>
</head>
<body>
</body>
</html>
<html>
<head>
<script type="text/javascript">
/*改进:
使用原型+构造函数方式来定义对象,对象之间的属性互不干扰
各个对象之间共享同一个方法。
*/
function Person()
{
this.username = new Array();
this.password = "0123";
}
Person.prototype.getInfo = function()
{
alert(this.username + ":" + this.password);
}
var person = new Person();
var person2 = new Person();
person.username.push("zhangsan");
person.password = "0000";
person2.username.push("lisi");
person.getInfo();
person2.getInfo();
</script>
</head>
<body>
</body>
</html>