javascrpt原型与原型链.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
javascrpt原型与原型链

javascript原型与原型链 学习javascript原型与原型链原理,能够更深入的理解javascript数据类型的使用;在往后的程序开发过程中能够有效的利用javascript编程语言的特点,编写出高效率的程序。 一般情况下编写javascript程序,创建对象的抒写方式是 script language javascript type text/javascript var user name:小红, age:12 ; function max a1,a2 if a1 a2 return a1; ; return a2; ; var max function a1,a2 if a1 a2 return a1; ; return a2; ; function User name,age this.name name; this.age age; ; 使用 new 关键字来创建 User 函数对象的实例化对象: 如果不涉及js面向对象编程的概念,正常意义上的this关键字所代表的其实是window对象,自定义的变量,函数都隶属于window对象。 通过new关键字能够新创建内存空间,所自定义的变量和函数都隶属于当前操作对象,不隶属于window对象。 例如: var user1 new User 小红,23 ; var user2 new User 小明,24 ; user1和user2两个变量同时都使用User函数对象初始化,其中的数据 小红,小明 都各自保存在自己内存空间的name变量中。 user1.name; //小红 user2.name; //小明 所谓普通对象是通过 new 关键字使用函数对象创建出来的变量都是普通对象,如: var user1 new User 小红,23 ; //user1 就是普通对象 那么还有一种对象是如下的定义方式,我们会有疑问这种对象并没有使用new 关键字? var test name:小明, sex:女 ; 其实这种对象也是通过new 关键字创建的,属于系统隐含创建,其使用的函数对象是系统默认的: function Object 系统应该是这样隐含定义的: var user new Object ; 为什么能够推理出 自定义对象 是由Object 函数对象初始化的呢?这就要引入我们的主题:原型与原型链 原型 javascript中所有的函数对象都具有一个原型实例,所谓原型就是这个函数对象是由哪个函数对象的实例产生的。 //我们可以使用 全等符号 来测试函数对象中原型的存在: 函数对象获取原型对象: function User name,age this.name name; this.age age; ; User.prototype //prototype 即返回原型对象。 function User ; var user1 new User ; User.prototype user1; User.prototype.constructor User; 系统默认的prototype,就是函数对象自己,使用 new 关键字产生的普通对象。 注意:prototype.constructor 构造器所指向的一般是函数对象自己,用于当程序运行时使用 new 关键字创建对象时,根据constructor调用;如果prototype 被使用 new 赋值过其他函数对象,则constructor会被清空,需要重新为constructor赋值。 普通对象也可以获取原型对象,用以说明这个这个普通对象是由哪个函数对象创建的: var user1 new User ; user1.__proto__ 说明:__proto__ 用于指向创建user1的函数对象 User 的原型对象 prototype 。 测试: function User name,age this.name name; this.age age; ; var user1 new User 小红,23 ; window.alert user1.__proto__ User.prototype ; //弹出 true function Job job,level this.job job; this.level level; this.dis function var str ; str+ \n工作:+this.job; str+ \n职位:+this.level; return str; ; ; function User name,sex this.name name; this.sex sex; this

文档评论(0)

kkg445 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档