﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-棕熊@Think Fast棕熊@Think Fast</title><link>http://www.cnblogs.com/ruxpinsp1/</link><description>Ya know I'm preparing to say something stupid, lol</description><language>zh-cn</language><lastBuildDate>Sun, 05 Jul 2009 01:53:50 GMT</lastBuildDate><pubDate>Sun, 05 Jul 2009 01:53:50 GMT</pubDate><ttl>60</ttl><item><title>[多图尝鲜] Google Chrome 试用 Tips</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/09/08/google-chrome-front-end-features.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Mon, 08 Sep 2008 06:40:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/09/08/google-chrome-front-end-features.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1286763.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/09/08/google-chrome-front-end-features.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1286763.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1286763.html</trackback:ping><description><![CDATA[<p style="padding: 0pt 0pt 12px 12px; float: right;"><img style="border-width: 0px;" alt="googlechrome" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/googlechrome_3.png" border="0" height="240" width="141" /> </p>
<p>Hi, 大家好~<img src="http://www.cnblogs.com/Emoticons/tusiji/202939796.gif" alt="" /> 好久没有发有营养的东西，今天就扔一篇最近热点的Google Chrome 浏览器的试用心得吧。</p>
<p>&nbsp;</p>
<p>先说个比较搞的事情，Google Chrome 的英文名字其实还不错（虽然会让人联想到Firefox 的 chrome 协议），但不知为何，中文语言包就硬生生地把它翻译成了&#8220;谷歌浏览器&#8221;&#8230;&#8230;<img src="http://www.cnblogs.com/Emoticons/baimantou/202015412.gif" alt="" /> 这&#8230;&#8230;Google被翻译成谷歌已经实属郁闷了，这次干脆把Chrome几个字吃掉了，好硬的牙口=v=</p>
<p>&nbsp;</p>
<p>言归正传，还是以web前端开发者的角度来谈谈Google Chrome 吧。</p>
<p>&nbsp;</p>
<p>首先呢，google做了一件虽然看上去是普宣，但其实多少故意针对前端开发者的很smart宣传——大家请看——google chrome geek comic：</p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/googlecomic_2.png" target="_blank"><img style="border-width: 0px;" alt="googlecomic" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/googlecomic_thumb.png" border="0" height="316" width="370" /></a> </p>
<p>本物comic 网址：<a title="Google Chrome Geek Comic" href="http://www.google.com/googlebooks/chrome/" target="_blank">http://www.google.com/googlebooks/chrome/</a></p>
<p>这种geek comic 其实是前端开发间很流行的一种艺术形式，算是很恰当的把技术和现代艺术结合了，所以看得懂这个的人，应该很有潜质做前端开发才对<img src="http://www.cnblogs.com/Emoticons/baimantou/202015934.gif" alt="" /> </p>
<p>&nbsp;</p>
<p>在Google Chrome 发布以前，流传着一些Google会自己开发浏览器内核的风闻。不过随着Chrome的发布，流言不攻自破。Chrome 的确是使用了Webkit 的内核，所以基本可以参照同类的Safari，连UA都是这样的：</p>
<p><code><strong class="important">Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.X.Y.Z Safari/525.13.</strong></code></p>
<p>所以初步测试，对于样式表的解析和javascript的执行，Chrome 与 Safari 类似度颇高：</p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/jeff-chrome_2.jpg" target="_blank"><img style="border-width: 0px;" alt="jeff-chrome" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/jeff-chrome_thumb.jpg" border="0" height="164" width="260" /></a> <a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/jeff-safari_2.jpg" target="_blank"><img style="border-width: 0px;" alt="jeff-safari" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/jeff-safari_thumb.jpg" border="0" height="164" width="260" /></a> </p>
<p>左图为Chrome, 右图为Safari。可以看见，Safari 除了拥有自己的字体加强算法之外，其它的呈现和Chrome无异。（PS: 照片系<a title="老赵" href="http://jeffreyzhao.cnblogs.com/" target="_blank">老赵</a>授权发布，请大家不要转载，要看的可以去<a href="http://www.wodeyichu.com/Item/12853" target="_blank">这里</a>保存，另外还有老赵超多的萌图雷图等你发现<img src="http://www.cnblogs.com/Emoticons/baimantou/223332676.gif" alt="" /> ）</p>
<p>甚至两者都有相似的输入框高亮和改变textarea大小的功能：</p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/quicklogin_chrome_2.png" target="_blank"><img style="border-width: 0px;" alt="quicklogin_chrome" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/quicklogin_chrome_thumb.png" border="0" height="129" width="260" /></a> <a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/quicklogin_safari_2.png" target="_blank"><img style="border-width: 0px;" alt="quicklogin_safari" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/quicklogin_safari_thumb.png" border="0" height="129" width="260" /></a> </p>
<p>连ACID3评分也差不多：（如果不了解ACID3，可以到这里<a title="ACID3 refference" href="http://acid3.acidtests.org/reference.html" target="_blank">看看100分是什么情况</a>的）</p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/acid3_chrome_2.png" target="_blank"><img style="border-width: 0px;" alt="acid3_chrome" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/acid3_chrome_thumb.png" border="0" height="220" width="260" /></a> <a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/acid3_safari_2.png" target="_blank"><img style="border-width: 0px;" alt="acid3_safari" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/acid3_safari_thumb.png" border="0" height="220" width="260" /></a> </p>
<p>好消息是，Chrome也会支持一些未来世代(?)的功能。还记得这个<a title="Canvas应用" href="http://www.cnblogs.com/ruxpinsp1/archive/2008/04/22/1164716.html" target="_blank">Canvas应用</a>么？</p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/canvas_chrome_2.png"><img style="border-width: 0px;" alt="canvas_chrome" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/canvas_chrome_thumb.png" border="0" height="260" width="213" /></a> </p>
<p>&nbsp;</p>
<p>所以至此，我们不必太担心hack对Chrome的影响，因为和Mac 的Safari 3.1 （自称是上最好的浏览器&#8230;&#8230;Apple官网）使用同样的webkit core, 所以hack方面完全兼容——其实在这样令人省心的浏览器上，<strong class="important">根本没必要用hack</strong>。如果真要使用的话，推荐用一些CSS3的伪类，比如:first-of-type。不过这样真的是完全没有必要的 <img src="http://www.cnblogs.com/Emoticons/tusiji/203330548.gif" alt="" /> </p>
<p>不过现在暂时还没有报导声称能使用CSS hack 区别Chrome 和Safari 3.1（理论上也不太可能会有）。对此我们以娱乐的心态持续关注中=v= （撒花</p>
<p>&nbsp;</p>
<p>最后顺便介绍一下Chrome 为前端开发者提供的一些小工具：</p>
<p>&nbsp;</p>
<p>首先是<strong class="important">Web Inspector</strong>: 在页面上任何地方点右键，在上下文菜单里会有&#8220;审查元素&#8221;的选项。不过这词翻译的&#8230;&#8230;审查 <img src="http://www.cnblogs.com/Emoticons/tusiji/203330353.gif" alt="" /> </p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/contextmenu_chrome_2.png" target="_blank"><img style="border-width: 0px;" alt="contextmenu_chrome" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/contextmenu_chrome_thumb.png" border="0" height="147" width="260" /></a> </p>
<p>之后就会有一个类似于DOM inspector 的东东出现&#8230;&#8230;感觉到有点像Opera的Dragonfly。请注意右下角的metrics：</p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/inspector_2.png" target="_blank"><img style="border-width: 0px;" alt="inspector" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/inspector_thumb.png" border="0" height="165" width="260" /></a> </p>
<p>另外，也支持 javascript console（有代码提示功能）：</p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/inspector2_2.png" target="_blank"><img style="border-width: 0px;" alt="inspector2" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/inspector2_thumb.png" border="0" height="165" width="260" /></a> </p>
<p>以及网页下载速度分析的功能，支持按照时间轴，文件大小，单个文件查看：</p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/inspector3_2.png" target="_blank"><img style="border-width: 0px;" alt="inspector3" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/inspector3_thumb.png" border="0" height="165" width="260" /></a> <a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/inspector4_2.png" target="_blank"><img style="border-width: 0px;" alt="inspector4" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/inspector4_thumb.png" border="0" height="165" width="260" /></a> <a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/inspector5_2.png" target="_blank"><img style="border-width: 0px;" alt="inspector5" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/inspector5_thumb.png" border="0" height="165" width="260" /></a> </p>
<p>但是似乎还是不能查看一个文件详细的header信息，所以暂时还要借助Fiddler <img src="http://www.cnblogs.com/Emoticons/baimantou/201937519.gif" alt="" /> </p>
<p>&nbsp;</p>
<p>只能以命令行方式运作的 <strong class="important">JavaScript Debugger</strong>:</p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/jsdebugger_2.png" target="_blank"><img style="border-width: 0px;" alt="jsdebugger" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/jsdebugger_thumb.png" border="0" height="207" width="260" /></a> <a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/jsdebugger2_2.png" target="_blank"><img style="border-width: 0px;" alt="jsdebugger2" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/jsdebugger2_thumb.png" border="0" height="227" width="260" /></a> </p>
<p>只有最基本的功能&#8230;&#8230;期待这块以后有所加强。完全可以和firebug 一样集成在DOM Inspector里嘛 <img src="http://www.cnblogs.com/Emoticons/baimantou/103828514.gif" alt="" /> </p>
<p>&nbsp;</p>
<p>不过下面这个东西还是很好用的——一个内建的<strong class="important">Task Manager</strong>：</p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/taskmanager_2.png" target="_blank"><img style="border: 0px none ;" alt="taskmanager" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/taskmanager_thumb.png" border="0" height="221" width="260" /></a> <a href="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/taskmanager2_2.png" target="_blank"><img style="border: 0px none ;" alt="taskmanager2" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/WindowsLiveWriter/GoogleChromeTips_8DED/taskmanager2_thumb.png" border="0" height="182" width="260" /></a> </p>
<p>可以监测网页的性能，比windows 自带的task manager 精确多了，可以用来跑一些test case 来测试性能也不错 <img src="http://www.cnblogs.com/Emoticons/tusiji/203330198.gif" alt="" /> </p>
<p>&nbsp;</p>
<p>基本就这些了，如果有些新的发现再向大家汇报哟~ 以上，大家下次见了哟~ <img src="http://www.cnblogs.com/Emoticons/baimantou/223332676.gif" alt="" /> </p>
<p>&nbsp;</p>
<p>PS：上文部分技术规格来源于Google Chrome相关文档。</p><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1286763.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47987/" target="_blank">预测：Twitter最可能收购的十家公司</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>嘿嘿，插播消息，最新一期的流言终结者</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/08/30/mythbuster_nvidia_nvision.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Sat, 30 Aug 2008 03:57:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/08/30/mythbuster_nvidia_nvision.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1280021.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/08/30/mythbuster_nvidia_nvision.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1280021.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1280021.html</trackback:ping><description><![CDATA[<p>在给nVidia 的nVision 作广告。Adam 老了很多，Jamie 还是老样子。两个人还是很恶搞 =v=</p>
<div style="margin: 0px auto;"><embed src="http://www.youtube.com/v/aa3OGgBkRiQ&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" height="344" width="425"></div>
<div style="margin: 0px auto;"><embed src="http://www.youtube.com/v/FllMX9dFmWg&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" height="344" width="425"></div>
<img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1280021.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47986/" target="_blank">网易澄清:与暴雪合资公司仅提供技术支持</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[Quicky] block 和 inline 答案揭晓~ 另付一则，关于 word-break</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/07/04/quicky-block-vs-inline-answer.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Fri, 04 Jul 2008 11:31:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/07/04/quicky-block-vs-inline-answer.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1235607.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/07/04/quicky-block-vs-inline-answer.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1235607.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1235607.html</trackback:ping><description><![CDATA[摘要: <p style="padding-right: 0pt; padding-left: 12px; float: right; padding-bottom: 12px; padding-top: 0pt"><img src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_note.png" /></p><p>上一讲的答案揭晓~ 撒花~</p><p>另外顺便讲个关于 word-break: break-all 的小 glitch</p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/07/04/quicky-block-vs-inline-answer.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1235607.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47985/" target="_blank">杰克逊悼念仪式或成史上最大规模Web活动</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[Quicky] block 和 inline 的区别是？</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/07/03/quicky-block-vs-inline.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Thu, 03 Jul 2008 11:55:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/07/03/quicky-block-vs-inline.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1230657.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/07/03/quicky-block-vs-inline.html#Feedback</comments><slash:comments>38</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1230657.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1230657.html</trackback:ping><description><![CDATA[摘要: <p style="padding-right: 0pt; padding-left: 12px; float: right; padding-bottom: 12px; padding-top: 0pt"><img src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_note.png" /></p><p>本文从HTML, CSS 原理等多个方面详细比较分析了 block 和 inline 的概念区别和表现区别。对前台开发感兴趣的可以看看哟。</p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/07/03/quicky-block-vs-inline.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1230657.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47984/" target="_blank">《商业周刊》:Mozilla的志愿者开发模式被复制</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[教程] 谈谈网页设计中的字体应用 (4) 实战应用篇·下</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/06/26/font-in-front-end-development-4.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Thu, 26 Jun 2008 08:23:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/06/26/font-in-front-end-development-4.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1191564.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/06/26/font-in-front-end-development-4.html#Feedback</comments><slash:comments>24</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1191564.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1191564.html</trackback:ping><description><![CDATA[摘要: <p style="padding-right: 0pt; padding-left: 12px; float: right; padding-bottom: 12px; padding-top: 0pt"><img src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_fonts.png" /></p><p>上次我讲了在实际应用font-family时会遇到的浏览器兼容性问题。这次我要从操作系统方面来讲如何安排字体族，并给出几个实用的字体组合。另外，由于中文字体的选择范围实在太小，所以本章中设计的内容主要以西文字体为主，比较适合上一章中的“方案二”。 </p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/06/26/font-in-front-end-development-4.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1191564.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47977/" target="_blank">Mono 的Virtual PC 虚拟机</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Hiatus</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/05/30/1211000.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Fri, 30 May 2008 15:39:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/05/30/1211000.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1211000.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/05/30/1211000.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1211000.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1211000.html</trackback:ping><description><![CDATA[<p>最近几周工作比较忙，实在无暇照顾自己的博客。今天偶然一看，居然大家都这么热心的留言，让偶大为感动@@</p>
<p>好在该忙得都快忙得差不多了，过几天后我会继续写以前没完成的文章，并且回复大家最近的留言。在这里我谢谢大家的热心关注了~ 偷偷的说，我可是很感动的哟 <img src="http://www.cnblogs.com/Emoticons/baimantou/223332676.gif" alt="" /></p>
<img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1211000.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47970/" target="_blank">19岁天才黑客发布首个iPhone 3GS破解软件</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[教程] 谈谈网页设计中的字体应用 (3) 实战应用篇&amp;middot;上</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/05/11/font-in-front-end-development-3.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Sun, 11 May 2008 12:44:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/05/11/font-in-front-end-development-3.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1188807.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/05/11/font-in-front-end-development-3.html#Feedback</comments><slash:comments>27</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1188807.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1188807.html</trackback:ping><description><![CDATA[摘要: <p style="padding-right: 0pt; padding-left: 12px; float: right; padding-bottom: 12px; padding-top: 0pt"><img src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_fonts.png" /></p><p>大家有看过font set和一些要注意的基本问题以及通用字体族两篇文章后，应该对字体的基本有了一些了解。现在我们开始把这些知识都应用到实战中吧！</p><p>我会详细的说明规范中对font-family的实现，并且比较各大浏览器实际的实线效果，给出大家两个常用的字体编排方案。</p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/05/11/font-in-front-end-development-3.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1188807.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47969/" target="_blank">新浪邮箱大本营粉墨登场！Sina.cn开放注册</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[教程] 谈谈网页设计中的字体应用 (2) serif 和 sans-serif</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/05/06/font-in-front-end-development-2.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Mon, 05 May 2008 16:19:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/05/06/font-in-front-end-development-2.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1176593.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/05/06/font-in-front-end-development-2.html#Feedback</comments><slash:comments>37</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1176593.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1176593.html</trackback:ping><description><![CDATA[摘要: <p style="padding-right: 0pt; padding-left: 12px; float: right; padding-bottom: 12px; padding-top: 0pt"><img src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_fonts.png" /></p><p>上一次我们简单的谈了一下font set和一些要注意的基本问题。今天我们继续字体这一话题，深入讲讲上次提到的“<strong class="important">通用字体族</strong>”。首先是最常用的  serif 和 sans-serif 这两个通用字体族。</p><p>然后，我们会谈如何选用字体族、其他的一些字体族，以及一些有用的小知识等。</p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/05/06/font-in-front-end-development-2.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1176593.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47968/" target="_blank">IE市场份额首次跌破60%</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[快报][贴图] ANSI Art 的新形式 - CSS-ANSI Art</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/05/03/css-ansi-art.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Fri, 02 May 2008 17:30:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/05/03/css-ansi-art.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1180004.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/05/03/css-ansi-art.html#Feedback</comments><slash:comments>28</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1180004.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1180004.html</trackback:ping><description><![CDATA[摘要: <p style="padding: 0pt 0pt 12px 12px; float: right;"><img src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_ansi.png" /></p><p>谈谈网页设计中的字体应用第二讲正在制作中，不日即可和大家见面。在此之前，先插播一条新闻。</p><p>大家如果有用各种term软件上过BBS的话，对ANSI art 和ASCII art一定不会陌生，很多大学BBS也都有ANSI版。但是，今天一种新的技术将其带到了一个不同的高度……</p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/05/03/css-ansi-art.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1180004.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47965/" target="_blank">Google App Engine宕机6小时——云的安全在哪里？</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[教程] 谈谈网页设计中的字体应用 (1) Font Set</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/29/font-in-front-end-development-1.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Tue, 29 Apr 2008 10:27:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/29/font-in-front-end-development-1.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1172590.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/29/font-in-front-end-development-1.html#Feedback</comments><slash:comments>53</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1172590.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1172590.html</trackback:ping><description><![CDATA[摘要: <p style="padding-right: 0pt; padding-left: 12px; float: right; padding-bottom: 12px; padding-top: 0pt"><img src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_fonts.png" /></p><p>最近有不少人都提及了网页上该如何选择字体的问题。问题虽然小，但是却是前端开发中的基本，因为目前的网页，还是以文字信息为主，而字体，作为文字表现形式的最重要参数之一，自然有着相当重要的地位。可惜字体的重要性在很长时间内并没有得到足够的重视。很多人对字体的概念还是停留在 font-family: "宋体", Arial, Helvetica, serif 的阶段，却不明白为什么这样设置，这样设置是否合理等等。现在就让我说说字体的来龙去脉吧。</p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/04/29/font-in-front-end-development-1.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1172590.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47961/" target="_blank">微软新推社交网站Windows Live Planet</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>关于本博客博皮的几点改进与释疑</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/27/1169758.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Sun, 27 Apr 2008 12:26:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/27/1169758.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1169758.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/27/1169758.html#Feedback</comments><slash:comments>59</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1169758.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1169758.html</trackback:ping><description><![CDATA[摘要: <p style="padding-right: 0pt; padding-left: 12px; float: right; padding-bottom: 12px; padding-top: 0pt"><img title="关于本博客博皮的几点改进与释疑" alt="关于本博客博皮的几点改进与释疑" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_blogskin.png" /></p><p>偶到cnBlogs也有几天了，承蒙大家错爱，对偶的博皮提出了不少的意见。本来该早些就对大家的问题作出回复，但是想想，还不如直接优化一下，以便以最好的状态将这个博皮共享出来，给大家使用。所以隔了几天才写这篇文章，并借此机会总结一下这个博皮的优化项目，不会优化的项目以及今后的改进方向。</p><p>那么就让偶来逐一解答这几天来大家集中提出的问题</p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/04/27/1169758.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1169758.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47960/" target="_blank">火狐3.5版被指推出太匆忙：存在50多个漏洞</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[JOKE] I like Gnus!</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/26/1172545.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Sat, 26 Apr 2008 14:09:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/26/1172545.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1172545.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/26/1172545.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1172545.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1172545.html</trackback:ping><description><![CDATA[<p>I like <a href="http://www.gnu.org/" target="_blank">gnus</a>. I also like <a href="http://www.linux.org/" target="_blank">penguins</a>, <a href="http://www.python.org/" target="_blank">pythons</a>, <a href="http://www.tortoisecvs.org/" target="_blank">tortoises</a>, <a href="http://jakarta.apache.org/tomcat/" target="_blank">tomcats</a>, <a href="http://www.apple.com/macosx/" target="_blank">tigers</a>, <a href="http://lynx.browser.org/" target="_blank">lynxes</a>, <a href="http://www.mozilla.org/products/firefox/" target="_blank">foxes</a> and of course, <a href="http://en.wikipedia.org/wiki/Computer_mouse" target="_blank">mice</a>. In fact, I like animals so much, I often go on <a href="http://www.apple.com/safari/" target="_blank">safari</a>!</p>
   <img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1172545.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47959/" target="_blank">Google对手机搜索进行优化升级</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[浅谈 演示] 你所不知道的HTML - 从 XHTML2 到 HTML5 (1)</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/22/1164716.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Mon, 21 Apr 2008 17:41:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/22/1164716.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1164716.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/22/1164716.html#Feedback</comments><slash:comments>38</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1164716.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1164716.html</trackback:ping><description><![CDATA[摘要: <p style="float:right; padding: 0 0 12px 12px"><img src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_html.png" /></p><p>HTML5 出来其实也有很长一段时间了。因为这个那个的原因，在HTML5刚出炉时，我根本就没对它有任何重视。直到有一天突然看到某人搞了个东东，里面用到了HTML5中的一个特性——canvas，才突然意识到：“天哪！XHTML2还没站稳脚跟，就给这小子找到火柴了！” </p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/04/22/1164716.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1164716.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47958/" target="_blank">风声又起 Windows 7 RTM版7月13日完成</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[贴图] 发个自画像阿哈哈</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/20/1162878.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Sun, 20 Apr 2008 13:16:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/20/1162878.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1162878.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/20/1162878.html#Feedback</comments><slash:comments>51</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1162878.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1162878.html</trackback:ping><description><![CDATA[摘要: <p>想看的点进来看吧，摘要上就不放了，厚厚 <img src="http://www.cnblogs.com/Emoticons/tusiji/203707182.gif" /></p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/04/20/1162878.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1162878.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47957/" target="_blank">乔布斯和埃利森</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[图解] 你不知道的 JavaScript - “this”</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/20/1162463.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Sun, 20 Apr 2008 12:06:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/20/1162463.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1162463.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/20/1162463.html#Feedback</comments><slash:comments>49</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1162463.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1162463.html</trackback:ping><description><![CDATA[<p>JavaScript 里的 this 到底指得是什么？很多人都会告诉你 this 指的是当前对象。这样理解对么？在大多数情况下确实没错。比如我们经常会在网页上写这样的 JavaScript：</p>
<p>&nbsp;</p>
<div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 98%; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">input&nbsp;</span><span style="color: rgb(255,0,0)">type</span><span style="color: rgb(0,0,255)">="submit"</span><span style="color: rgb(255,0,0)">&nbsp;value</span><span style="color: rgb(0,0,255)">="提交"</span><span style="color: rgb(255,0,0)">&nbsp;onclick</span><span style="color: rgb(0,0,255)">="this.value='正在提交数据'"</span><span style="color: rgb(255,0,0)">&nbsp;</span><span style="color: rgb(0,0,255)">/&gt;</span></div>
<p>&nbsp;</p>
<p>这里的this显然指的是当前对象，即这个提交按钮。通常，我们使用this的情况都与此类似。但是有什么情况不是这样的呢？</p>
<p>大家看看这个例子：</p>
<p>&nbsp;</p>
<div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 98%; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img id="Codehighlighter1_21_44_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_21_44_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_21_44_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_21_44_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_21_44_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_21_44_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_21_44_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_21_44_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: rgb(0,0,255)">var</span><span style="color: rgb(0,0,0)">&nbsp;foo&nbsp;</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)">&nbsp;</span><span style="color: rgb(0,0,255)">function</span><span style="color: rgb(0,0,0)">()&nbsp;</span><span id="Codehighlighter1_21_44_Closed_Text" style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_21_44_Open_Text"><span style="color: rgb(0,0,0)">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;console.log(</span><span style="color: rgb(0,0,255)">this</span><span style="color: rgb(0,0,0)">);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: rgb(0,0,0)"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />foo();<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: rgb(0,0,255)">new</span><span style="color: rgb(0,0,0)">&nbsp;foo();</span></div>
<p>&nbsp;</p>
<p>比较一下 foo() 和 new foo() 的运行结果，你会发现，前者 this 指向的并非 foo 本身，而是当前页面的window对象，而后者才真正的指向foo。这是为什么呢？</p>
<p>其实这牵涉到JavaScript的一条重要特性，就是所谓的&#8220;<strong class="important">闭包</strong>&#8221;。闭包这个概念说复杂也不复杂，但也不是简单到能用一两句话说清。偶会在以后的文章中深入探讨这个Javascript 最重要的特性。现在，我要告诉大家的是，因为闭包的存在，JavaScript中的<strong class="important">作用域</strong>变得相当重要。</p>
<p>所谓的<strong class="important">作用域</strong>，简单的说，就是创建一个函数时在什么环境下创建的。而this变量的值，<strong class="important">如果没有指定的话</strong>，就是函数当前的作用域。 </p>
<p>&nbsp;</p>
<p>在前面的例子里，foo() 函数是在全局作用域（这里就是window对象），所以this的值是当前的window对象。而通过 new foo() 这样的形式，其实是创建了一个foo()的副本，并在这个副本上进行的操作，所以这里的this就是foo()的这个副本。</p>
<p>&nbsp;</p>
<p>这样讲可能有点抽象，大家来看个实际的例子：</p>
<p>&nbsp;</p>
<div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 98%; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">input&nbsp;<span style="color: rgb(255,0,0)">type<span style="color: rgb(0,0,255)">="</span></span><span style="color: rgb(0,0,255)">button"</span>&nbsp;</span><span style="color: rgb(255,0,0)">id</span><span style="color: rgb(0,0,255)">="aButton"</span><span style="color: rgb(255,0,0)">&nbsp;value</span><span style="color: rgb(0,0,255)">="demo" onclick="" /&gt;</span><span style="color: rgb(0,0,0)"><br />
<img id="Codehighlighter1_75_125_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_75_125_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_75_125_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_75_125_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_75_125_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_75_125_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_75_125_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_75_125_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">script&nbsp;</span><span style="color: rgb(255,0,0)">type</span><span style="color: rgb(0,0,255)">="text/javascript"</span><span style="color: rgb(0,0,255)">&gt;</span><span id="Codehighlighter1_75_125_Closed_Text" style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_75_125_Open_Text"><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)"><br />
<img id="Codehighlighter1_92_124_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_92_124_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_92_124_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_92_124_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_92_124_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_92_124_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_92_124_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_92_124_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: rgb(0,0,255); background-color: rgb(245,245,245)">function</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;demo()&nbsp;</span><span id="Codehighlighter1_92_124_Closed_Text" style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_92_124_Open_Text"><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,0,255); background-color: rgb(245,245,245)">this</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">.value&nbsp;</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">=</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;Math.random();<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span></span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">script</span><span style="color: rgb(0,0,255)">&gt;</span></div>
<p>&nbsp;</p>
<p>如果直接调用demo()&nbsp;函数，程序就会报错，因为demo函数是在window对象中定义的，所以demo的拥有者（作用域）是window，demo的this也是window。而window是没有value属性的，所以就报错了。</p>
<p style="text-indent: 0px; text-align: center"><img title="图解" alt="图解" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_demo1.png" /></p>
<p>如果我们通过<strong class="important">创建副本</strong>的方式，将这个函数的<strong class="very important">副本</strong>添加到一个HTML元素，那么他的所有者就成了这个元素，this也指代了这个元素：</p>
<p>&nbsp;</p>
<div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 98%; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0,0,0)">document.getElementById(</span><span style="color: rgb(0,0,0)">"</span><span style="color: rgb(0,0,0)">aButton</span><span style="color: rgb(0,0,0)">"</span><span style="color: rgb(0,0,0)">).onclick&nbsp;</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)">&nbsp;demo;</span></div>
<p>&nbsp;</p>
<p>这样就将aButton的onlick属性设置为demo()的一个副本，this也指向了aButton。</p>
<p style="text-indent: 0px; text-align: center"><img title="图解" alt="图解" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_demo2.png" /></p>
<p>你甚至可以为多个不同的HTML元素创建不同的函数副本。每个副本的拥有者都是相对应的HTML元素，各自的this也都指向他们的拥有者，不会造成混乱。</p>
<p style="text-indent: 0px; text-align: center"><img title="图解" alt="图解" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_demo3.png" /></p>
<p>&nbsp;</p>
<p>但是，如果你这样定义某个元素的onlick事件：</p>
<p>&nbsp;</p>
<div>
<div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 98%; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">input&nbsp;</span><span style="color: rgb(255,0,0)">type</span><span style="color: rgb(0,0,255)">="button"</span><span style="color: rgb(255,0,0)">&nbsp;id</span><span style="color: rgb(0,0,255)">="aButton"</span><span style="color: rgb(255,0,0)">&nbsp;value</span><span style="color: rgb(0,0,255)">="demo"</span><span style="color: rgb(255,0,0)">&nbsp;onclick</span><span style="color: rgb(0,0,255)">="demo()" /</span><span style="color: rgb(0,0,255)">&gt;</span></div>
</div>
<p>&nbsp;</p>
<p>点击这个button之后，你会发现，程序又会报错了——this又指向了window！</p>
<p>其实，这种方法并没有为程序创建一个函数，而只是引用了这个函数。</p>
<p>具体看一下区别吧。</p>
<p>&nbsp;</p>
<p>使用创建函数副本的方法：</p>
<p>&nbsp;</p>
<div>
<div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 98%; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">input&nbsp;</span><span style="color: rgb(255,0,0)">type</span><span style="color: rgb(0,0,255)">="button"</span><span style="color: rgb(255,0,0)">&nbsp;id</span><span style="color: rgb(0,0,255)">="aButton"</span><span style="color: rgb(255,0,0)">&nbsp;value</span><span style="color: rgb(0,0,255)">="demo"</span><span style="color: rgb(255,0,0)">&nbsp;</span><span style="color: rgb(0,0,255)">/&gt;</span><span style="color: rgb(0,0,0)"><br />
<img id="Codehighlighter1_81_225_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_81_225_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_81_225_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_81_225_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_81_225_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_81_225_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_81_225_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_81_225_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">script&nbsp;</span><span style="color: rgb(255,0,0)">type</span><span style="color: rgb(0,0,255)">="text/javascript"</span><span style="color: rgb(0,0,255)">&gt;</span><span id="Codehighlighter1_81_225_Closed_Text" style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_81_225_Open_Text"><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: rgb(0,0,255); background-color: rgb(245,245,245)">var</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;button&nbsp;</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">=</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;document.getElementById(</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">"</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">aButton</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">"</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">);<br />
<img id="Codehighlighter1_147_179_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_147_179_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_147_179_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_147_179_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_147_179_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_147_179_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_147_179_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_147_179_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: rgb(0,0,255); background-color: rgb(245,245,245)">function</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;demo()&nbsp;</span><span id="Codehighlighter1_147_179_Closed_Text" style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_147_179_Open_Text"><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,0,255); background-color: rgb(245,245,245)">this</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">.value&nbsp;</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">=</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;Math.random();<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />}</span></span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />button.onclick</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">=</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;demo;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />alert(button.onclick);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span></span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">script</span><span style="color: rgb(0,0,255)">&gt;</span></div>
</div>
<p>&nbsp;</p>
<p>得到的输出是：</p>
<p>&nbsp;</p>
<div>
<div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 98%; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img id="Codehighlighter1_16_48_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_16_48_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_16_48_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_16_48_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_16_48_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_16_48_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_16_48_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_16_48_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: rgb(0,0,255)">function</span><span style="color: rgb(0,0,0)">&nbsp;demo()&nbsp;</span><span id="Codehighlighter1_16_48_Closed_Text" style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_16_48_Open_Text"><span style="color: rgb(0,0,0)">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,0,255)">this</span><span style="color: rgb(0,0,0)">.value&nbsp;</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)">&nbsp;Math.random();<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
</div>
<p>&nbsp;</p>
<p>使用函数引用的方法：</p>
<p>&nbsp;</p>
<div>
<div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 98%; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">input&nbsp;</span><span style="color: rgb(255,0,0)">type</span><span style="color: rgb(0,0,255)">="button"</span><span style="color: rgb(255,0,0)">&nbsp;id</span><span style="color: rgb(0,0,255)">="aButton"</span><span style="color: rgb(255,0,0)">&nbsp;value</span><span style="color: rgb(0,0,255)">="demo"</span><span style="color: rgb(255,0,0)">&nbsp;onclick</span><span style="color: rgb(0,0,255)">="demo()"</span><span style="color: rgb(255,0,0)">&nbsp;</span><span style="color: rgb(0,0,255)">/&gt;</span><span style="color: rgb(0,0,0)"><br />
<img id="Codehighlighter1_98_220_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_98_220_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_98_220_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_98_220_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_98_220_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_98_220_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_98_220_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_98_220_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">script&nbsp;</span><span style="color: rgb(255,0,0)">type</span><span style="color: rgb(0,0,255)">="text/javascript"</span><span style="color: rgb(0,0,255)">&gt;</span><span id="Codehighlighter1_98_220_Closed_Text" style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_98_220_Open_Text"><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: rgb(0,0,255); background-color: rgb(245,245,245)">var</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;button&nbsp;</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">=</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;document.getElementById(</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">"</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">aButton</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">"</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">);<br />
<img id="Codehighlighter1_164_196_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_164_196_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_164_196_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_164_196_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_164_196_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_164_196_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_164_196_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_164_196_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: rgb(0,0,255); background-color: rgb(245,245,245)">function</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;demo()&nbsp;</span><span id="Codehighlighter1_164_196_Closed_Text" style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_164_196_Open_Text"><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,0,255); background-color: rgb(245,245,245)">this</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">.value&nbsp;</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">=</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;Math.random();<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />}</span></span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />alert(button.onclick);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span></span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">script</span><span style="color: rgb(0,0,255)">&gt;</span></div>
</div>
<p>&nbsp;</p>
<p>得到的输出是：</p>
<p>&nbsp;</p>
<div>
<div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 98%; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0,0,0)">function&nbsp;onclick()&nbsp;{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;demo();<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />}</span></div>
</div>
<p>&nbsp;</p>
<p>这样就能看出区别了吧。函数引用的方式中，onclick事件只是直接调用demo()函数，而demo()函数的作用域仍旧是window对象，所以this仍然指向window。</p>
<p style="text-indent: 0px; text-align: center"><img title="图解" alt="图解" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_demo4.png" /></p>
<p>&nbsp;</p>
<p>这样就又引出了一个问题：既然函数副本这么好用，为什么还需要函数引用的方法呢？答案是性能。每新建一个函数的副本，程序就会为这个函数副本分配一定的内存。而实际应用中，大多数函数并不一定会被调用，于是这部分内存就被白白浪费了。而使用函数引用的方式，程序就只会给函数的本体分配内存，而引用只分配指针，这样效率就高很多。程序员么，节约为主，恩 <img alt="" src="http://www.cnblogs.com/Emoticons/tusiji/203707182.gif" /></p>
<p>所以我们来看一个更好的解决方案：</p>
<p>&nbsp;</p>
<div>
<div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 98%; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img id="Codehighlighter1_31_83_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_31_83_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_31_83_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_31_83_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_31_83_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_31_83_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_31_83_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_31_83_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">script&nbsp;</span><span style="color: rgb(255,0,0)">type</span><span style="color: rgb(0,0,255)">="text/javascript"</span><span style="color: rgb(0,0,255)">&gt;</span><span id="Codehighlighter1_31_83_Closed_Text" style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_31_83_Open_Text"><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)"><br />
<img id="Codehighlighter1_51_82_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_51_82_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_51_82_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_51_82_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_51_82_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_51_82_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_51_82_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_51_82_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: rgb(0,0,255); background-color: rgb(245,245,245)">function</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;demo(obj)&nbsp;</span><span id="Codehighlighter1_51_82_Closed_Text" style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_51_82_Open_Text"><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;obj.value&nbsp;</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">=</span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)">&nbsp;Math.random();<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: rgb(0,0,0); background-color: rgb(245,245,245)"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span></span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">script</span><span style="color: rgb(0,0,255)">&gt;</span><span style="color: rgb(0,0,0)"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">input&nbsp;</span><span style="color: rgb(255,0,0)">type</span><span style="color: rgb(0,0,255)">="button"</span><span style="color: rgb(255,0,0)">&nbsp;value</span><span style="color: rgb(0,0,255)">="demo"</span><span style="color: rgb(255,0,0)">&nbsp;onclick</span><span style="color: rgb(0,0,255)">="demo(this)"</span><span style="color: rgb(255,0,0)">&nbsp;</span><span style="color: rgb(0,0,255)">/&gt;</span><span style="color: rgb(0,0,0)"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">input&nbsp;</span><span style="color: rgb(255,0,0)">type</span><span style="color: rgb(0,0,255)">="button"</span><span style="color: rgb(255,0,0)">&nbsp;value</span><span style="color: rgb(0,0,255)">="demo"</span><span style="color: rgb(255,0,0)">&nbsp;onclick</span><span style="color: rgb(0,0,255)">="demo(this)"</span><span style="color: rgb(255,0,0)">&nbsp;</span><span style="color: rgb(0,0,255)">/&gt;</span><span style="color: rgb(0,0,0)"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">input&nbsp;</span><span style="color: rgb(255,0,0)">type</span><span style="color: rgb(0,0,255)">="button"</span><span style="color: rgb(255,0,0)">&nbsp;value</span><span style="color: rgb(0,0,255)">="demo"</span><span style="color: rgb(255,0,0)">&nbsp;onclick</span><span style="color: rgb(0,0,255)">="demo(this)"</span><span style="color: rgb(255,0,0)">&nbsp;</span><span style="color: rgb(0,0,255)">/&gt;</span></div>
</div>
<p>&nbsp;</p>
<p>这样，效率和需求就都能兼顾了。</p>
<p>&nbsp;</p>
<p>最后再多讲一句：在前面的文章里，我特别强调了&#8220;如果没有指定this的话&#8221;。其实<strong class="very important">this是可以指定的</strong>。Function对象有两个方法：call()和apply()。这两个方法都支持指定一个函数中的this。有兴趣的话您可以去查一下Javascript的手册，看看这两个函数都是干什么用的。而我们经常用的 new foo() 可以用以下这段伪代码来描述：</p>
<p>&nbsp;</p>
<div>
<div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 98%; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img id="Codehighlighter1_28_219_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_28_219_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_28_219_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_28_219_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_28_219_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_28_219_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_28_219_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_28_219_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: rgb(0,0,255)">function</span><span style="color: rgb(0,0,0)">&nbsp;new&nbsp;(somefunction)&nbsp;</span><span id="Codehighlighter1_28_219_Closed_Text" style="border-right: rgb(128,128,128) 1px solid; border-top: rgb(128,128,128) 1px solid; display: none; border-left: rgb(128,128,128) 1px solid; border-bottom: rgb(128,128,128) 1px solid; background-color: rgb(255,255,255)"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_28_219_Open_Text"><span style="color: rgb(0,0,0)">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,0,255)">var</span><span style="color: rgb(0,0,0)">&nbsp;args&nbsp;</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)">&nbsp;[].slice.call(arguments,&nbsp;</span><span style="color: rgb(0,0,0)">1</span><span style="color: rgb(0,0,0)">);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;somefunction.prototype.constructor&nbsp;</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)">&nbsp;somefunction;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;somefunction.apply(somefunction.prototype,&nbsp;args);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0,0,255)">return</span><span style="color: rgb(0,0,0)">&nbsp;somefunction.prototype;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
</div>
<p>&nbsp;</p>
<p>现在明白了，在本文开头的第一个例子里，new foo() 的 this 为什么是 foo 了吧 <img alt="" src="http://www.cnblogs.com/Emoticons/tusiji/203330868.gif" /></p>
<p>&nbsp;</p>
<p>文中部分内容引自 http://www.quirksmode.org/js/this.html</p><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1162463.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47957/" target="_blank">乔布斯和埃利森</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[贴图] Noir Theater</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/19/1161312.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Sat, 19 Apr 2008 10:45:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/19/1161312.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1161312.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/19/1161312.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1161312.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1161312.html</trackback:ping><description><![CDATA[摘要: <p style="float:right"><img src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_frank.png"/></p><p>事先声明：图片有版权，无端转载禁</p><p>《Noir Theater》是偶最近关注中的新漫画，noir 风格的漫画。画家和作者都是西班牙人，画家还是偶的好友。因为剧本写得很好，画家也是牛人一个，所以有打理赶超同类漫画《Blacksad》的势头。</p><p>贴图前先说说这个Blacksad。也是一个西班牙作家+一个西班牙画家，画的 noir 风格漫画。剧情设定在二战后的芝加哥，围绕着退伍老兵、现私家侦探的John Blacksad 展开的故事...</p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/04/19/1161312.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1161312.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47956/" target="_blank">Xbox Live将投放Silverlight广告</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>让你的网页支持 iPhone SpringBoard 图标</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/18/1160494.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Fri, 18 Apr 2008 14:49:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/18/1160494.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1160494.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/18/1160494.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1160494.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1160494.html</trackback:ping><description><![CDATA[摘要: <p style="float: right"><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/ruxpinsp1/132244/o_touch.png" /></p><p>最近搞了个iPod Touch, 挺不错的。</p><p>iPod Touch 里有一个功能：除了能将网页添加到收藏夹外，还能选择将网页的快捷方式添加到 SpringBoard, 并且将这张网页的截图作为快捷方式的图标显示。</p><p>这里面有个小窍门。Apple 的 iPhone 开发手册上说，这个图标是可以定制的，实现起来也很简单。</p>&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/04/18/1160494.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1160494.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47951/" target="_blank">Debian无视GNU创始人警告 接受Mono</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>稍微谈一下 javascript 开发中的 MVC 模式</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/17/1158140.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Thu, 17 Apr 2008 15:11:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/17/1158140.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1158140.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/17/1158140.html#Feedback</comments><slash:comments>22</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1158140.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1158140.html</trackback:ping><description><![CDATA[摘要: 随着前台开发日益受到重视，客户端代码比重日益增加的今天，如何在javascript开发里应用MVC模式，这个问题似乎会一直被提到，所以偶在这里粗略的谈一下自己的看法吧。MVC模式的基本理念，是通过把一个application封装成model, view和controller三个部分达到降低耦合，简化开发的目的。这么说很空洞，大家可以实际看个例子：1&lt;selectid="selAnimal"&&nbsp;&nbsp;<a href='http://www.cnblogs.com/ruxpinsp1/archive/2008/04/17/1158140.html'>阅读全文</a><img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1158140.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47950/" target="_blank">iPhone 3GS首发日创AT&T多项纪录</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Say "Hello World" to cnBlogs</title><link>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/16/1156256.html</link><dc:creator>棕熊</dc:creator><author>棕熊</author><pubDate>Wed, 16 Apr 2008 09:11:00 GMT</pubDate><guid>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/16/1156256.html</guid><wfw:comment>http://www.cnblogs.com/ruxpinsp1/comments/1156256.html</wfw:comment><comments>http://www.cnblogs.com/ruxpinsp1/archive/2008/04/16/1156256.html#Feedback</comments><slash:comments>32</slash:comments><wfw:commentRss>http://www.cnblogs.com/ruxpinsp1/comments/commentRss/1156256.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/ruxpinsp1/services/trackbacks/1156256.html</trackback:ping><description><![CDATA[<p>Hihi, 大家好~</p>
<p>本人棕熊，经Dflying gg 和老赵 gg 介绍，发现了cnBlogs这样有趣的地方，于是也特地来注册了一个账户，一来方便学习其他人的经验，二来也能把偶的心得告诉大家，酱紫。</p>
<p>偶的专项是front-end developing, 现在正和Dflying gg, 老赵 gg 合作开发一个项目，专职负责前端代码的开发。所以偶的blog也会以讨论front-end的技术为主，不论是初学级的，还是进阶的应用，只要有需要，都会涉及一些。权且在这里打个小广告，大家有兴趣的可以点导航栏上的&#8220;订阅&#8221;按钮。至于这个按钮什么作用，大家点了试试看就知道了<img src="http://www.cnblogs.com/Emoticons/baimantou/105104147.gif" alt="" /></p>
<p>&nbsp;</p>
<p>好吧，言归正传，既然是开发人员，那么就给cnBlogs一个小小的 hello world 程序做见面礼吧！</p>
<p>这个想法是在偶定制blog时想到的。希望能做一个漫画的comic bubble 的效果，让标题上的人物每隔一定时间就说一句搞笑的对话。这些对话的数据保存在偶的另一个网站上，而且这个网站上已经有了相应的web service，这里所要做的只是向这个service发出请求，然后把请求的结果在页面中显示。</p>
<p>通常要实现这种功能，一般会想到的解决方法是使用AJAX。但因为安全性沙盒的问题，<strong class="important">一般浏览器都会禁止跨域的XMLHttpRequest</strong>。不过没关系啦，这个问题已经有很多成熟的解决方案。这里我使用的，是所谓的<strong class="important">on-demand 方法</strong>。这个方法的核心是<strong class="very important">利用动态生成的SCRIPT元素代替XHR</strong>，来实现对跨域web service的调用。</p>
<p>&nbsp;</p>
<p>以偶blog上的comic bubble为例：</p>
<p>&nbsp;</p>
<dl>
<dt>- 需求</dt>
<dd>
<ul>
    <li>从 ruxpinsp1.cnblogs.com 访问 mywebsite.com 上的 "GetFunnyWords" service</li>
</ul>
</dd>
</dl>
<dl>
<p>&nbsp;</p>
<dt>- 解决方法</dt>
<dd>
<ul>
    <li>首先，在 ruxpinsp1.cnblogs.com 的HTML代码里加上这么个东东：
    <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
    <br />
    Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
    http://www.CodeHighlighter.com/<br />
    <br />
    --><span style="color: #008080;">1</span><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">span&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="scriptH"</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">span</span><span style="color: #0000ff;">&gt;</span><span style="color: #008000;">&lt;!--</span><span style="color: #008000;">&nbsp;这个东东是用来盛放动态生成脚本的容器&nbsp;</span><span style="color: #008000;">--&gt;</span></div>
    </li>
    <li>然后，我们需要一堆javascript脚本
    <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
    <br />
    Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
    http://www.CodeHighlighter.com/<br />
    <br />
    --><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;setWords&nbsp;方法将&nbsp;GetFunnyWords&nbsp;服务返回的对话显示在页面中</span><span style="color: #008000;"><br />
    <img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" alt="" align="top" />//</span><span style="color: #008000;">&nbsp;@param&nbsp;r::String&nbsp;这个就是返回的对话</span><span style="color: #008000;"><br />
    <img id="Codehighlighter1_101_154_Open_Image" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_101_154_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_101_154_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_101_154_Closed_Text').style.display='inline';" alt="" align="top" /><img id="Codehighlighter1_101_154_Closed_Image" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_101_154_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_101_154_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_101_154_Open_Text').style.display='inline';" alt="" align="top" /></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;setWords&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(r)&nbsp;</span><span id="Codehighlighter1_101_154_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_101_154_Open_Text"><span style="color: #000000;">{document.getElementById(</span><span style="color: #000000;">'</span><span style="color: #000000;">randomWords</span><span style="color: #000000;">'</span><span style="color: #000000;">).innerHTML</span><span style="color: #000000;">=</span><span style="color: #000000;">r;}</span></span><span style="color: #000000;">;<br />
    <img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" alt="" align="top" /><br />
    <img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;requestFunnyWords&nbsp;通过新建一个SCRIPT元素，并设置其SRC属性，达到调用&nbsp;GetFunnyWords&nbsp;服务的目的</span><span style="color: #008000;"><br />
    <img id="Codehighlighter1_262_433_Open_Image" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_262_433_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_262_433_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_262_433_Closed_Text').style.display='inline';" alt="" align="top" /><img id="Codehighlighter1_262_433_Closed_Image" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_262_433_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_262_433_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_262_433_Open_Text').style.display='inline';" alt="" align="top" /></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;requestFunnyWords&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">()</span><span id="Codehighlighter1_262_433_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_262_433_Open_Text"><span style="color: #000000;">{<br />
    <img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;s</span><span style="color: #000000;">=</span><span style="color: #000000;">document.createElement(</span><span style="color: #000000;">'</span><span style="color: #000000;">SCRIPT</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br />
    <img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;s.src</span><span style="color: #000000;">=</span><span style="color: #000000;">'</span><span style="color: #000000;">http://myWebsite.com/GetFunnyWords</span><span style="color: #000000;">'</span><span style="color: #000000;">;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;这个就是&nbsp;GetFunnyWords&nbsp;服务的&nbsp;URL</span><span style="color: #008000;"><br />
    <img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById(</span><span style="color: #000000;">'</span><span style="color: #000000;">scriptH</span><span style="color: #000000;">'</span><span style="color: #000000;">).appendChild(s);<br />
    <img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top" />}</span></span><span style="color: #000000;">;<br />
    </span><span style="color: #000000;">requestFunnyWords</span><span style="color: #000000;">();</span></div>
    这样，我们在cnblogs.com里要做的工作就告一段落了。
    </li>
    <li>然后我们来看看GetFunnyWords的返回吧
    <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
    <br />
    Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
    http://www.CodeHighlighter.com/<br />
    <br />
    --><span style="color: #008080;">1</span><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">setWords(</span><span style="color: #000000;">"</span><span style="color: #000000;">Hello&nbsp;World!</span><span style="color: #000000;">"</span><span style="color: #000000;">);</span></div>
    好玩的地方就在这里：GetFunnyWords的返回的返回本身正是一个javascript, 而这个javascript中，调用了我们在cnblogs.com里定义的setWords()方法，并通过这个方法，动态的设置了comic bubble里的内容。
    </li>
</ul>
</dd>
</dl>
<p>&nbsp;</p>
<p>这个方法并不是很困难吧。要注意的是，偶新建了一个SPAN元素用来放置动态生成的SCRIPT元素，而并没有把这个SCRIPT元素直接appendChild到BODY元素上。有兴趣的话大家可以考虑一下这是为什么，呵呵</p>
<img src ="http://www.cnblogs.com/ruxpinsp1/aggbug/1156256.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47949/" target="_blank">Silverlight开发大赛奖金高达10000美元</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item></channel></rss>