- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IT人的级别:IT领袖:年入过亿; IT大哥:年入千万; IT精英:年入百万; IT人才:年入50万; IT工程师:年入20万; IT民工:年入10万; 码农:年入6万到10万; 码奴:年入3万到6万; 码畜:年入低于3万。。。。。
事实上,在构造函数的prototype上定义的所有属性和方法,都是可以通过其构造的对象直接访问和调用的。也可以这么说,prototype提供了一群同类对象共享属性和方法的机制
Function Person(name)
{
T=name;//设置对象属性,每个对象各自一份属性数据
};
Ptotype.SayHello=function()
{
Alert(“Hello,I’m”+);
}
Var BillGates=new Person(“Bill Gates”);
Var SteveJobs=new Persons(“Steve Jobs”);
BillGates.SayHello();
SteveJobs.SayHello();
Alert(BillGates.SayHello==SteveJobs.SayHello);//因为两个对象是共享prototype的SayHello,所以显示:true
对于多层次的构造函数情况,下面代码:
Function Person(name)
{
T=name;
};
Ptotyepe.SayHello=function()
{
Alert(“Hello,I’m”+);
};
Function Employee(name,salary)
{
Person.call(this,name);//调用基类构造函数
This.salary=salary;
};
Etotype=new Person();//建立一个基类的对象作为子类原型的模型
Etotype.ShowMeTheMoney=function()//给子类添构造函数的prototype添加方法
{
Alert(+”$”+this.salary);
};
Var BillGates=new Person(“Bill Gates”);
Var SteveJobs=new Employee(“Steve Jobs”,1234);
SteveJobs.SayHello();//通过子类对象直接调用基类prototype的方法
SteveJobs.ShowMeTheMoney();
Alert(BillGates.SayHello==SteveJobs.SayHello);
原来,在JavaScript中,prototype不但能让对象共享自己财富,而且prototype还有寻根问组的天性,从而使得先辈们的遗产可以代代相传。当从一个对象那里读取属性或调用方法时,如果该对象自身不存在这样的属性或方法,就会去自己关联的prototype对象那里寻找
Function Person(name)
{
T=name;
};
PtoTpany=”Microsoft”;//原型的属性
Ptotype.SayHello=function()//原型的方法
{
Alert(“Hello,I’m”+”of”+pany);
};
Var BillGates=new Person(“Bill Gates”);
BillGates.SayHello();
Var SteveJobs=new Person(“Steve Jobs”);
SteveJpany=”Apple”;//设置自己的company属性,掩盖了原型的company属性
SteveJobs.SayHello=function()//实现了自己的SayHello方法,掩盖了原型的SayHello方法
{
Alert(“Hi,”++”like”+pany+”,ha ha ha”);
};
SteveJobs.SayHello();//都是自己覆盖的属性和方法,输出:Hi,Steve Jobs like Apple,ha ha ha
原型模型需要一个构造函数来定义的成员,而方法却依附在构造函数的原型上。大致写法如下:
Function Person(name)
{
T=name;
};
Ptotype.SayHello=function()
{
Alert(“Hello,I’m”+);
};
//子类构造函数
Function Employee(name,salay)
{
Person.call(this,name);//调用上层构造函数
This.salary=salay;
};
子类构造函数首先需要用上层构造函数来建立prototype对象,实现继承的概念
Etotype=new Person()//只需要其prototype的方法,此对象的成员
文档评论(0)