P27页
//****************************************************************************
//关键字Prototype:它的作用是经由它添加的对象方法,该对象的所有实例
// 都可以调用,这与别的编程语言的公共方法有点区别,
// 但也实现了代码重用
//****************************************************************************
这种写法很像别的面向对象编程语言
//创建一个新的User构造函数
function User(name,age){
this.name=name;
this.age=age;
}
//将一个新的函数添加到此对象的prototype对象中
//个人觉得这个地方有点像C#的属性get
User.prototype.getName=function(){
return this.name;
};
//并再次给此prototype对象添加一个函数,
//注意其上下文是实例化后的对象
User.protoype.getAge=function(){
return this.age;
}
//实例化一个新的User对象
var User=new User("Bob",44);
//可以看到我们添加的这两个属性都在刚才创建的对象中,并且有合适的上下文
alert(user.getName( )=="Bob");
alert(user.getAge( )==44);
//****************************************************************************
//关键字Prototype:它的作用是经由它添加的对象方法,该对象的所有实例
// 都可以调用,这与别的编程语言的公共方法有点区别,
// 但也实现了代码重用
//****************************************************************************
这种写法很像别的面向对象编程语言
//创建一个新的User构造函数
function User(name,age){
this.name=name;
this.age=age;
}
//将一个新的函数添加到此对象的prototype对象中
//个人觉得这个地方有点像C#的属性get
User.prototype.getName=function(){
return this.name;
};
//并再次给此prototype对象添加一个函数,
//注意其上下文是实例化后的对象
User.protoype.getAge=function(){
return this.age;
}
//实例化一个新的User对象
var User=new User("Bob",44);
//可以看到我们添加的这两个属性都在刚才创建的对象中,并且有合适的上下文
alert(user.getName( )=="Bob");
alert(user.getAge( )==44);