不会的要多查多问,不然不会的永远不会,哪怕你离会就差了那么一点点
						
					
		
 关于JS原型.原性链的总结整理
		
		
		[
 2016/09/27 13:39 | by 刘新修 ]
		
	
 2016/09/27 13:39 | by 刘新修 ]
		第一部分[原型prototype]:
任何对象及Function方法都有所对应的"prototype"原型!一切基于原型!
任何类型对象都有所对应的"constructor"构造器即内置构造函数,任何自定义函数及内置函数都有所对应的原型对象,说到底大家都会继承有: "对象/Object"的原型。
注:那怕是用字面量声明的对象var str='ss'; 其构造器使用了function String(){} 则间接使用了String.prototype的原型!
str 是用String()函数构造的实例!也就是说String函数的prototype原型就是str实例的间接原型!
JavaScript代码
- /******** 自定义构造函数 ********/
 - function Fun(){}
 - var foo=new Fun();
 - foo.constructor==Fun()
 - //也就是说自定义Fun函数的prototype原型就是foo实例的间接原型!自定义function的原型将继承Object
 - /******** 实例对象可以直接使用__proto__找到构造器使用的prototype ********/
 - foo.__proto__==foo.construtor.prototype;
 - //true, 但是,__proto__属性在IE浏览器中一直到IE11才被支持
 - /******** 自定义函数和原型的关系 ********/
 - function c(){}
 - c.prototype
 - ->c {}
 - --->constructor: function()
 - --->proto: Object //对象继承的原型
 - ============================================================================
 - c.constructor //c本身已经是构造器了
 - function Function() { [native code] }
 - Function.prototype //构造函数Function的原型,如果没有特殊定义就是空function
 - function (){}
 - ============================================================================
 - /******** 布尔值实例 ********/
 - true.constructor
 - function Boolean(){ [native code] }
 - Boolean.prototype
 - -> Boolean{ [[PrimitiveValue]]: false}
 - --->constructor: function Boolean()
 - --->toString: function toString()
 - --->valueOf: function valueOf()
 - ---> proto : Object //对象继承的原型
 


  
 
 
 
 
 


