首页 > 编程语言 > 详细

強大的javascrpt原型链學習

时间:2014-09-09 12:26:08      阅读:310      评论:0      收藏:0      [点我收藏+]
一个自带隐式的 __proto__ 属性[implicit __proto__ property],指向foo的原型

這有點類似實現C# 繼承作用 a類的公共東西,給b和c類共用


var
a = { x: 10, calculate: function (z) { return this.x + this.y + z } }; var b = { y: 20, __proto__: a }; var c = { y: 30, __proto__: a }; // 调用继承过来的方法 alert(b.calculate(30)); // 60 alert(c.calculate(40)); // 80

原理:如果在对象b中找不到calculate方法(也就是对象b中没有这个calculate属性), 那么就会沿着原型链开始找。如果这个calculate方法在b的prototype中没有找到,那么就会沿着原型链找到a的prototype,一直遍历完整个原型链。记住,一旦找到,就返回第一个找到的属性或者方法。因此,第一个找到的属性成为继承属性。如果遍历完整个原型链,仍然没有找到,那么就会返回undefined。

強大的javascrpt原型链學習

原文:http://www.cnblogs.com/yzenet/p/3962042.html

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