干嘛用的
prototype屬性用來給對象添加屬性和方法的锈锤。
如下給Person這個(gè)對象添加了salary屬性院崇。
<script>
function Person(name,age){
this.name=name;
this.age=age;
}
var xiaoming=new Person("xiaoming",45)
Person.prototype.sallary=null;
xiaoming.salary=4000;
alert(xiaoming.salary)//4000
</script>
為何如此大費(fèi)周折肆氓?
上述代碼不要Person.prototype.sallary=null;也可以,所以為啥呢?
看看下面這個(gè)例子
function Person(name,age){
this.name=name;
this.age=age;
this.hobby=function(){
return "watching movies"
}
}
var xiaoming=new Person("xiaoming",45);
var xiaohong=new Person("xiaohong",34);
alert(xiaoming.name);
alert(xiaohong.name)
alert(xiaohong.hobby===xiaoming.hobby);//false
小明的方法竟然和小紅的方法不一樣底瓣。(哪里不一樣谢揪?)
function Person(name,age){
this.name=name;
this.age=age;
}
Person.prototype.hobby=function(){
return "watching movie"
}
var xiaoming=new Person("xiaoming",45);
var xiaohong=new Person("xiaohong",34);
alert(xiaoming.name);
alert(xiaohong.name)
alert(xiaohong.hobby===xiaoming.hobby);//true
通過prototype來進(jìn)行創(chuàng)建就一樣了。