码迷,mamicode.com
首页 > 编程语言 > 详细

強大的javascrpt原型链學習

时间:2014-09-09 12:26:08      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   java   ar   div   cti   sp   

一个自带隐式的 __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原型链學習

标签:style   blog   color   io   java   ar   div   cti   sp   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!