考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
  当前位置:设计制作 > JavaScript > 文章内容
  

javascript继承的原理

 [ 2017年8月8日 ] 【

  通过对javascript的几种函数的运行分析,得出结论:

  javascript 的继承实际上是通过对对象进行初始化来模拟的。

  代码一:实现继承的一种方法

  

  对比:

  

  为什么呢?

  原因是第一种方法执行Person.call(Me)时,将Person里的this指定为Me,然后执行Person方法里的代码

  显而易见,this.say=function(){alert("Name")};这句话对Me添加了方法。让Me对象具有了say的行为。

  而PersonA();时,要执行PersonA里面的代码,此时this对象代表window,所以window获得了say行为。

  而第二种方法执行Person内部的代码,所以并没有给Me添加行为,调用Me.say()自然出错。

  如此看来通过Call,Apply,for(property in object),prototype等方法实现继承时,只是一种模拟继承的

  方式。具体过程就是对一个对象动态添加函数,属性。

  Person.call(Me);是对Me添加Person的属性方法,哪么function Person(){alert("Name");}面对的对象是谁呢?

本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved