<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[刘新修]]></title> 
<link>http://liuxinxiu.com:80/index.php</link> 
<description><![CDATA[刘新修的个人博客 (Liuxinxiu'S Blog)]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[刘新修]]></copyright>
<item>
<link>http://liuxinxiu.com:80/prototype/</link>
<title><![CDATA[关于JS原型.原性链的总结整理]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[H5/JS/CSS]]></category>
<pubDate>Tue, 27 Sep 2016 05:39:07 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/prototype/</guid> 
<description>
<![CDATA[ 
	<div><strong><span style="color: rgb(51, 0, 102);">第一部分[原型prototype]：</span></strong></div><div>&nbsp;</div><div>任何对象及Function方法都有所对应的&quot;prototype&quot;原型！一切基于原型！</div><div>&nbsp;</div><div>任何类型对象都有所对应的&quot;constructor&quot;构造器即内置构造函数，任何自定义函数及内置函数都有所对应的原型对象，说到底大家都会继承有: &quot;对象/Object&quot;的原型。</div><div>&nbsp;</div><div>注：那怕是用字面量声明的对象var str='ss'; 其构造器使用了function String()&#123;&#125; 则间接使用了String.prototype的原型！</div><div>&nbsp;</div><div>str 是用String()函数构造的实例！也就是说String函数的prototype原型就是str实例的间接原型！</div><div>&nbsp;</div><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="comment">/******** 自定义构造函数 ********/</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">function</span><span> Fun()&#123;&#125;&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">var</span><span> foo=</span><span class="keyword">new</span><span> Fun();&nbsp;&nbsp;</span></span></li><li><span>foo.constructor==Fun()&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">//也就是说自定义Fun函数的prototype原型就是foo实例的间接原型！自定义function的原型将继承Object</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">/******** 实例对象可以直接使用__proto__找到构造器使用的prototype ********/</span><span>&nbsp;&nbsp;</span></span></li><li><span>foo.__proto__==foo.construtor.prototype;&nbsp;&nbsp; </span></li><li class="alt"><span><span class="comment">//true, 但是，__proto__属性在IE浏览器中一直到IE11才被支持</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">/******** 自定义函数和原型的关系 ********/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">function</span><span> c()&#123;&#125;&nbsp;&nbsp;</span></span></li><li><span>c.prototype&nbsp;&nbsp;</span></li><li class="alt"><span>-&gt;c &#123;&#125;&nbsp;&nbsp;</span></li><li><span>---&gt;constructor: <span class="keyword">function</span><span>()&nbsp;&nbsp;</span></span></li><li class="alt"><span>---&gt;proto: Object&nbsp;&nbsp;<span class="comment">//对象继承的原型</span><span>&nbsp;&nbsp;</span></span></li><li><span>============================================================================&nbsp;&nbsp;</span></li><li class="alt"><span>c.constructor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//c本身已经是构造器了</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">function</span><span> Function() &#123; [</span><span class="keyword">native</span><span> code] &#125;&nbsp;&nbsp;</span></span></li><li class="alt"><span>Function.prototype <span class="comment">//构造函数Function的原型，如果没有特殊定义就是空function</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">function</span><span> ()&#123;&#125;&nbsp;&nbsp;</span></span></li><li class="alt"><span>============================================================================&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">/******** 布尔值实例 ********/</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">true</span><span>.constructor&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">function</span><span> Boolean()&#123; [</span><span class="keyword">native</span><span> code] &#125;&nbsp;&nbsp;</span></span></li><li><span>Boolean.prototype&nbsp;&nbsp;</span></li><li class="alt"><span>-&gt; Boolean&#123; [[PrimitiveValue]]: <span class="keyword">false</span><span>&#125;&nbsp;&nbsp;</span></span></li><li><span>---&gt;constructor: <span class="keyword">function</span><span> Boolean()&nbsp;&nbsp;</span></span></li><li class="alt"><span>---&gt;toString: <span class="keyword">function</span><span> toString()&nbsp;&nbsp;</span></span></li><li><span>---&gt;valueOf: <span class="keyword">function</span><span> valueOf()&nbsp;&nbsp;</span></span></li><li class="alt"><span>---&gt; proto : Object&nbsp;&nbsp; <span class="comment">//对象继承的原型</span><span>&nbsp;&nbsp;</span></span></li></ol></div><br/>Tags - <a href="http://liuxinxiu.com:80/tags/prototype/" rel="tag">prototype</a> , <a href="http://liuxinxiu.com:80/tags/constructor/" rel="tag">constructor</a> , <a href="http://liuxinxiu.com:80/tags/oop/" rel="tag">oop</a>
]]>
</description>
</item><item>
<link>http://liuxinxiu.com:80/prototype/#blogcomment</link>
<title><![CDATA[[评论] 关于JS原型.原性链的总结整理]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/prototype/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>