JavaScript的原型及原型链
许多人对JavaScript的原型及原型链仍感到困惑,网上的文章又大多长篇大论,令读者不明觉厉。本人小学时语文拿过全校第一名,我将用最简洁明了的文字介绍JavaScript的原型及原型链。 什么是原型: 每一个对象都有原型,使用 __proto__ 标记,原型是一个对象的引用或 null ( Object. prototype 的原型为 null ),允许对象使用其原型所引用的对象中的变量。 var fun = function(){} fun.prototype.a = 1; var obj = new fun(); obj.a; //1 原型的来源: 对象的原型来自其构造函数的原型属性(用 prototype 标记)的引用。注意原型与原型属性是两个概念。 Function 为实例( function )定义了原型属性,其中包含一个构造函数(默认是 function 对象自己,用于构造 function 自己的实例),因此所有 function 都有原型属性。 Function 将自己的 的原型属性的引用作为 function 的原型 。 new 一个 function ,function 的实例便有了原型,指向 function 的原型属性。 有码: var fun = function(){ this.a= 1; } fun.prototype.b = 2; var obj