首页 > 编程语言 > 详细

javascript高级知识点——继承

时间:2014-11-04 19:00:41      阅读:228      评论:0      收藏:0      [点我收藏+]

代码信息来自于http://ejohn.org/apps/learn/。

继承是如何工作的

function Person(){} function Ninja(){} 
 
Ninja.prototype = new Person(); 
 
var ninja = new Ninja(); 
console.log( ninja instanceof Ninja, "ninja自动接收Ninja.prototype里的属性" ); 
console.log( ninja instanceof Person, "也是来自Person.prototype" ); 
console.log( ninja instanceof Object, "也是来自and the Object prototype" );

本例可以很好表明继承机制和原型链。根本原理是实例化继承构造函数的原型,它使用__proto__访问上级。ninja继承Ninja,Ninja就是new Person(),继承Person.prototype,而Person.prototype,继承自最根本的Object.prototype。

构建我们自己的继承

function Person(){} 
Person.prototype.getName = function(){ 
  return this.name; 
}; 
 
function Me(){ 
  this.name = "John Resig"; 
} 
Me.prototype = new Person(); 
 
var me = new Me(); 
console.log( me.getName());

me对象属性 = 实例化时自己的属性 + Me.prototype的属性 +Object.prototype的属性。

所以这个me对象拥有自己的name属性,getName函数。

 

javascript高级知识点——继承

原文:http://www.cnblogs.com/winderby/p/4074154.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!