﻿<?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>IT博客-asfman</title><link>http://www.cnitblog.com/asfman/</link><description>android developer</description><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 06:00:07 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 06:00:07 GMT</pubDate><ttl>60</ttl><item><title>使用 Vue.js 创建的 Calendar</title><link>http://www.cnitblog.com/asfman/archive/2016/10/12/90490.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Wed, 12 Oct 2016 09:36:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/archive/2016/10/12/90490.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/90490.html</wfw:comment><comments>http://www.cnitblog.com/asfman/archive/2016/10/12/90490.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/90490.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/90490.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: @import url(http://www.cnitblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);使用 Vue.js 创建的 Calendarhttp://www.tuicool.com/arti...&nbsp;&nbsp;<a href='http://www.cnitblog.com/asfman/archive/2016/10/12/90490.html'>阅读全文</a><img src ="http://www.cnitblog.com/asfman/aggbug/90490.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2016-10-12 17:36 <a href="http://www.cnitblog.com/asfman/archive/2016/10/12/90490.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]培养自己的气质</title><link>http://www.cnitblog.com/asfman/archive/2010/05/28/66413.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Fri, 28 May 2010 08:16:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/archive/2010/05/28/66413.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/66413.html</wfw:comment><comments>http://www.cnitblog.com/asfman/archive/2010/05/28/66413.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/66413.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/66413.html</trackback:ping><description><![CDATA[<div>一：沉稳</div><div>&nbsp; &nbsp; &nbsp;（1）不要随便显露你的情绪。</div><div>&nbsp; &nbsp; &nbsp;（2）不要逢人就诉说你的困难和遭遇。</div><div>&nbsp; &nbsp; &nbsp;（3）在征询别人的意见之前，自己先思考，但不要先讲。</div><div>&nbsp; &nbsp; &nbsp;（4）不要一有机会就唠叨你的不满。</div><div>&nbsp; &nbsp; &nbsp;（5）重要的决定尽量有别人商量，最好隔一天再发布。</div><div>&nbsp; &nbsp; &nbsp;（6）讲话不要有任何的慌张，走路也是。</div><div>二：细心</div><div>&nbsp; &nbsp; &nbsp;（1）对身边发生的事情，常思考它们的因果关系。</div><div>&nbsp; &nbsp; &nbsp;（2）对做不到位的执行问题，要发掘它们的根本症结。</div><div>&nbsp; &nbsp; &nbsp;（3）对习以为常的做事方法，要有改进或优化的建议。</div><div>&nbsp; &nbsp; &nbsp;（4）做什么事情都要养成有条不紊和井然有序的习惯。</div><div>&nbsp; &nbsp; &nbsp;（5）经常去找几个别人看不出来的毛病或弊端。</div><div>&nbsp; &nbsp; &nbsp;（6）自己要随时随地对有所不足的地方补位。</div><div>&nbsp; &nbsp;修养的最高境界</div><div>1、不要自视清高</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 天外有天，人上有人，淡泊明志，宁静致远&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 当别人把你当领导时，自己不要把自己当领导&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 当别人不把你当领导时，自己一定要把自己当领导&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 权力是一时的，金钱是身外的&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 身体是自己的，做人是长久的&nbsp;</div><div>&nbsp;</div><div></div><div>2、不要盲目承诺&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;言而有信&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 种下行动就会收获习惯&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 种下习惯便会收获性格&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 种下性格便会收获命运&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 习惯造就一个人</div><div>&nbsp;</div><div></div><div>3、不要轻易求人</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 把自己当别人&#8212;&#8212;减少痛苦、平淡狂喜&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 把别人当自己&#8212;&#8212;同情不幸，理解需要&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;把别人当别人&#8212;&#8212; 尊重独立性，不侵犯他人&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;把自己当自己&#8212;&#8212; 珍惜自己，快乐生活&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 能够认识别人是一种智慧，能够被别人认识是一种幸福，能够自己认识自己是圣者贤人。</div><div>&nbsp;</div><div>&nbsp;</div><div></div><div>4、不要强加于人&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 人本是人，不必刻意去做人&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 世本是世，无须精心去处世&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 人生三种境界：&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 看山是山，看水是水&#8212;&#8212;人之初&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 看山不是山，看水不是水&#8212;&#8212;人到中年&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 看山还是山，看水还是水&#8212;&#8212;回归自然</div><div></div><div>5、不要取笑别人&nbsp;</div><div>&nbsp;</div><div><span style="white-space:pre">	</span>损害他人人格，快乐一时，伤害一生&nbsp;</div><div><span style="white-space:pre">	</span>生命的整体是相互依存的，世界上每一样东西都依赖其它另一样东西，学会感恩。&nbsp;</div><div><span style="white-space:pre">	</span>感恩大自然的福佑，感恩父母的养育，感恩社会的安定，感恩食之香甜，感恩衣之温暖，</div><div><span style="white-space:pre">	</span>感恩花 &nbsp;草鱼虫，感恩苦难逆境。 &nbsp; &nbsp;&nbsp;</div><div><span style="white-space:pre">	</span></div><div>6、不要乱发脾气&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;一伤身体，二伤感情&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 人与人在出生和去世中都是平等的&#8212;&#8212;哭声中来，哭声中去。&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 千万注意自己恋恋不舍，而别人早就是去意已决&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 人生应看三座山：井冈山普陀山八宝山&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 退一步海阔天空，忍一事风平浪静&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 牢骚太多防肠断，风物长宜放眼量</div><div></div><div>7、不要信口开河 &nbsp; &nbsp;&nbsp;</div><div><span style="white-space:pre">	</span>言多必失，沉默是金&nbsp;</div><div><span style="white-space:pre">	</span>倾听是一种智慧、一种修养、一种尊重、一种心灵的沟通&nbsp;</div><div><span style="white-space:pre">	</span>平静是一种心态、一种成熟&nbsp;</div><div>&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div>8、不要小看仪表&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;撒播美丽，收获幸福&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;仪表是一种心情，仪表是一种力量&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;在自己审视美的同时，让别人欣赏美&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;心灵瑜伽&#8212;&#8212;调适、修炼、超越&nbsp;</div><div></div><div>9、不要封闭自己&nbsp;</div><div><span style="white-space:pre">	</span> 帮助人是一种崇高&nbsp;</div><div><span style="white-space:pre">	</span>理解人是一种豁达&nbsp;</div><div>&nbsp; <span style="white-space:pre">	</span>原谅人是一种美德&nbsp;</div><div>&nbsp;<span style="white-space:pre">	</span>服务人是一种快乐&nbsp;</div><div><span style="white-space:pre">	</span>月圆是诗，月缺是花，仰首是春，俯首是秋</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp;10、不要欺负老实人&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;同情弱者是一种品德、一种境界、一种和谐&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 心理健康，才能身体健康&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 人有一分器量，便多一分气质&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 人有一分气质，便多一分人缘&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 人有一分人缘，便多一分事业</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 积善成德、修身养性 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div></div><img src ="http://www.cnitblog.com/asfman/aggbug/66413.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2010-05-28 16:16 <a href="http://www.cnitblog.com/asfman/archive/2010/05/28/66413.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>睡觉时间</title><link>http://www.cnitblog.com/asfman/archive/2009/12/28/63423.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Mon, 28 Dec 2009 08:05:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/archive/2009/12/28/63423.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/63423.html</wfw:comment><comments>http://www.cnitblog.com/asfman/archive/2009/12/28/63423.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/63423.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/63423.html</trackback:ping><description><![CDATA[<div>&nbsp;&nbsp; &nbsp; &nbsp; 晚上9-11点为免疫系统（淋巴）排毒时间，此段时间应安静或听音乐&nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; 晚间11-凌晨1点，肝的排毒，需在熟睡中进行。&nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; 凌晨1-3点，胆的排毒，亦同。&nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; 凌晨3-5点，肺的排毒。此即为何咳嗽的人在这段时间咳得最剧烈，&nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; 因排毒动作已走到肺；不应用止咳药，以免抑制废积物的排除。&nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; 凌晨5-7点，大肠的排毒，应上厕所排便。&nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; 早上7-9点，小肠大量吸收营养的时段，应吃早餐。&nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; 疗病者最好早吃，在6点半前，养生者在7点半前，&nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; 不吃早餐者应改变习惯，即使拖到9、10点吃都比不吃好。&nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; 半夜至凌晨4点为脊椎造血时段，必须熟睡，不宜熬夜。</div>
<img src ="http://www.cnitblog.com/asfman/aggbug/63423.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2009-12-28 16:05 <a href="http://www.cnitblog.com/asfman/archive/2009/12/28/63423.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>chrome快捷键</title><link>http://www.cnitblog.com/asfman/archive/2009/12/11/63115.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Fri, 11 Dec 2009 10:55:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/archive/2009/12/11/63115.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/63115.html</wfw:comment><comments>http://www.cnitblog.com/asfman/archive/2009/12/11/63115.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/63115.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/63115.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Ctrl+N打开新窗口Ctrl+T打开新标签页Ctrl+Shift+N在隐身模式下打开新窗口Ctrl+O，然后选择文件在谷歌浏览器中打开计算机上的文件按住&nbsp;Ctrl&nbsp;键，然后点击链接从后台在新标签页中打开链接，但您仍停留在当前标签页中按住&nbsp;Ctrl+Shift&nbsp;键，然后点击链接在新标签页中打开链接，同时切换到新打开的标签页按住&nbsp;Shift&nbsp...&nbsp;&nbsp;<a href='http://www.cnitblog.com/asfman/archive/2009/12/11/63115.html'>阅读全文</a><img src ="http://www.cnitblog.com/asfman/aggbug/63115.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2009-12-11 18:55 <a href="http://www.cnitblog.com/asfman/archive/2009/12/11/63115.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>知者弗言 言者弗知</title><link>http://www.cnitblog.com/asfman/archive/2009/07/29/60434.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Wed, 29 Jul 2009 04:00:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/archive/2009/07/29/60434.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/60434.html</wfw:comment><comments>http://www.cnitblog.com/asfman/archive/2009/07/29/60434.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/60434.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/60434.html</trackback:ping><description><![CDATA[<table style="table-layout: fixed;">
    <tbody>
        <tr>
            <tr>
                <td>
                <div id="blog_text" class="cnt"><br>
                <br>
                &nbsp; 原文为 马王堆汉墓皂书《老子》甲、乙本
                <p> &nbsp;（原　文）　　　　　　　 （译　文）</p>
                &nbsp; &nbsp;五十六 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 五十六<br>
                知者弗言， &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 有智慧、真懂得的人不夸夸其谈，<br>
                言者弗知。 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 夸夸其谈的人不是有智慧、真懂得的人。<br>
                塞其兑， &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 堵住耳目孔窍，<br>
                闭其门。 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 关闭感官的门户。<br>
                和其光， &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 将自己的主观意识与客观事物的内在规律调和一致，<br>
                同其尘， &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 将自己的感官反映与客观事物的表象混同一致，<br>
                挫其锐， &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 折断主观意识与客观事物内在规律不一致的锋芒，<br>
                解其纷， &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 拆解感官反映与客观事物表象之间的纠纷，<br>
                是谓玄同。 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 这就叫做冥默中与道混同为一（主观意识和客观<br>
                &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 事物相统一）。<br>
                故不可得而亲， &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 所以（对于达到这种境界的人）没有办法亲近他，<br>
                亦不可得而疏； &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 也没有办法疏远他，<br>
                不可得而利， &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 没有办法去利于他，<br>
                亦不可得而害； &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 也没有办法去伤害他，<br>
                不可得而贵， &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 没有办法使他尊贵，<br>
                亦不可得而贱， &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 也没有办法使他卑贱，<br>
                故为天下贵。 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 所以这种人是天下最难得的人。</div>
                </td>
            </tr>
        </tr>
    </tbody>
</table><img src ="http://www.cnitblog.com/asfman/aggbug/60434.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2009-07-29 12:00 <a href="http://www.cnitblog.com/asfman/archive/2009/07/29/60434.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>__proto__</title><link>http://www.cnitblog.com/asfman/archive/2009/05/17/57280.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Sun, 17 May 2009 14:45:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/archive/2009/05/17/57280.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/57280.html</wfw:comment><comments>http://www.cnitblog.com/asfman/archive/2009/05/17/57280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/57280.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/57280.html</trackback:ping><description><![CDATA[Object.__proto__===Function.prototype true<br><br>Function.__proto__ ===Function.prototype true<br><br>Object.__proto__===Function.__proto__ true<br><br>Function.prototype.__proto__ ===Object.prototype true<br><br>Object.prototype.__proto__ null<br><img src ="http://www.cnitblog.com/asfman/aggbug/57280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2009-05-17 22:45 <a href="http://www.cnitblog.com/asfman/archive/2009/05/17/57280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>人法地，地法天，天法道，道法自然</title><link>http://www.cnitblog.com/asfman/archive/2009/03/19/55546.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Thu, 19 Mar 2009 05:05:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/archive/2009/03/19/55546.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/55546.html</wfw:comment><comments>http://www.cnitblog.com/asfman/archive/2009/03/19/55546.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/55546.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/55546.html</trackback:ping><description><![CDATA[人法地：人必须遵循大自然的法则。比如说人有生老病死，弱者会被强者支配，人和所有生物一样把生存和交配（主要是传宗接代）放在生命的最高位置。这些都是人属于大自然的部分，故&#8220;人法地&#8221;<br>
<br>
地法天：大自然受到法则的支配，包括有形的天气（比如越接近极点越冷越接近赤道越热），以及无形的物理法则（太热会把生物烤死太冷会把生命热死从高处掉下来会摔死等等）。于是，大自然中的生物必须习惯和适应这些法则，故&#8220;地法天&#8221;。<br>
<br>
天法道：这些规则是不会因为个人的意志改变（不会因为你想就能让太阳夜里出来），他们是固定的，而这些规则总称就是&#8220;道&#8221;。<br>
<br>
道法自然：道是至高无上的真理，因为&#8220;世界就是这样存在的&#8221;，也就是&#8220;自&#8221;然。<img src ="http://www.cnitblog.com/asfman/aggbug/55546.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2009-03-19 13:05 <a href="http://www.cnitblog.com/asfman/archive/2009/03/19/55546.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jq之filter</title><link>http://www.cnitblog.com/asfman/archive/2008/10/27/50715.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Mon, 27 Oct 2008 01:38:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/archive/2008/10/27/50715.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/50715.html</wfw:comment><comments>http://www.cnitblog.com/asfman/archive/2008/10/27/50715.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/50715.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/50715.html</trackback:ping><description><![CDATA[<p>&nbsp;var chars = jQuery.browser.safari &amp;&amp; parseInt(jQuery.browser.version)&lt;417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",<br>&nbsp;//包括中英文* _ -\.的任意单个字符<br>&nbsp;quickChild = new RegExp("^&gt;\\s*(" + chars + "+)"), //匹配以&gt;开始的，后面至少有一个字符的内容，如&gt;child,&gt; child<br>&nbsp;quickID = new RegExp("^(" + chars + "+)(#)(" + chars + "+)"),//匹配如nodeName#idName<br>&nbsp;quickClass = new RegExp("^([#.]?)(" + chars + "*)");//匹配如#idName, .className, nodeName</p>
<p>&nbsp;//多重过滤函数，对已有的dom元素进行多重过滤，elems可以是dom元素数组[dom1,dom2..]，也可以是jq实例{0:dom1, 1: dom2...}<br>&nbsp;//多重过滤的意思，也就是expr可以是以,分开的n个过滤表达式如,".a,.b,:odd",not参数为true的话，表示返回除了找到的元素以外的元素<br>&nbsp;multiFilter: function( expr, elems, not ) {<br>&nbsp;&nbsp; var old, cur = [];<br>&nbsp;&nbsp; //old每次过滤前保存表达式字符串，用来与过滤后expr进行比较，如果两者相同，表示过滤循环结束<br>&nbsp;&nbsp;&nbsp;while ( expr &amp;&amp; expr != old ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;old = expr;<br>&nbsp;&nbsp;&nbsp;&nbsp;var f = jQuery.filter( expr, elems, not );//其实多重过滤是把以,分开的表达式进行filter函数处理，所以过滤的最核心函数是filter函数<br>&nbsp;&nbsp;&nbsp;&nbsp;expr = f.t.replace(/^\s*,\s*/, "" );//一次过滤结束后，如果是多重的话，返回肯定是",xxx"，所以得把&#8220;,&#8221;替换掉以进行下一次过滤<br>&nbsp;&nbsp;&nbsp;&nbsp;cur = not ? elems = f.r : jQuery.merge( cur, f.r );//elems保存返回的dom数组，因为not为true的话，<br>&nbsp;&nbsp;&nbsp;&nbsp;下一次过滤肯定是从返回的dom数组里进行再一次的过滤，如果not不存在，则用cur和返回数组进行合并，<br>&nbsp;&nbsp;&nbsp;&nbsp;不改变elems，因为返回只是一次过滤成功的元素，所以elems不变，但这会存在一个问题，<br>&nbsp;&nbsp;&nbsp;&nbsp;如&lt;div class="a b"&gt;&lt;/div&gt;如果expr为".a, .b"那么第一次返回数组里有这个dom对象，第二次又会有这个对象，所以得进行unique处理<br>&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;return cur;//而jq这里对最终结果没有处理！所以会出现上面所说的情况，最终返回dom数组里有可能包含同一个dom元素n次。<br>&nbsp;&nbsp;}</p>
<p>&nbsp;下面听asfman来着重讲解一下jq的过滤核心函数filter函数<br>&nbsp;//filter函数所用到的正则表达式<br>&nbsp; jQuery.parse=[&nbsp;<br>&nbsp;&nbsp;&nbsp;/^(\[) <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#42;&#64;&#63;&#40;&#91;&#92;&#119;">*@?([\w</a>-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,// 匹配如[@value='test'], [@foo]&nbsp;<br>&nbsp;&nbsp;&nbsp;/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,// 匹配如:contains('foo'),:has('.a'),:nth-child(4n)&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;new RegExp("^([:.#]*)(" + chars + "+)")//匹配如:even, :last-child, #id, .class,&nbsp; nodeName<br>&nbsp;&nbsp;]<br>&nbsp;filter: function(t,r,not) {//t为过滤表达式如".a", ".a.b", "#id","nodeName","[attr=value]",":nth-child(4n)"等等<br>&nbsp;&nbsp;&nbsp;var last;<br>&nbsp;&nbsp;&nbsp;while ( t &amp;&amp; t != last ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;last = t;//用来保存上一次过滤钱的表达式，如果last和t相同则结束循环<br>&nbsp;&nbsp;&nbsp;&nbsp;var p = jQuery.parse, m;<br>&nbsp;&nbsp;&nbsp;&nbsp;for ( var i = 0; p[i]; i++ ) {//对parse数组进行遍历<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m = p[i].exec( t );//m保存匹配结果m[1]为"[",":", ".","#"或者为空<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( m ) {//如果m存在则停止遍历<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t = t.substring( m[0].length );//移除匹配到的表达式如t为".a.b"那么匹配到.a后,t为".b"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m[2] = m[2].replace(/\\/g, "");//如果m[2]中存在\那么就替换掉<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;if ( !m )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;//如果遍历完parse后，m仍旧为null的话,那么此次过滤完全结束,执行while以后的代码<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //:not是一个非常特殊的表达式,jq对它进行了优化处理<br>&nbsp;&nbsp;&nbsp;&nbsp;if ( m[1] == ":" &amp;&amp; m[2] == "not" )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r = isSimple.test( m[3] ) ? <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//判断m[3],也就是:not(nodeName),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因为isSimple = /^.[^:#\[\.]*$/,它表示除了:#[.以外的任意字符,也就是简单的nodeName或者*,那么进行<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jQuery.filter(nodeName, r, true)进行简单过滤，也就是new RegExp("^([:.#]*)(" + chars + "+)")/<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;会匹配到，然后返回不包含此nodeName的所有元素<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jQuery.filter(m[3], r, true).r :<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//:not(.a),:not([attr=value])的复杂类型的情况进行jQuery(r).not(m[3])处理<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jQuery( r ).not( m[3] );<br>&nbsp;/*<br>&nbsp;&nbsp;not: function( selector ) {<br>&nbsp;&nbsp;&nbsp;if ( selector.constructor == String )<br>&nbsp;&nbsp;&nbsp;&nbsp;// test special case where just one selector is passed in<br>&nbsp;&nbsp;&nbsp;&nbsp;if ( isSimple.test( selector ) )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.pushStack( jQuery.multiFilter( selector, this, true ) );<br>&nbsp;&nbsp;&nbsp;&nbsp;else//也就是进行这步处理，以m[3]为.a为例，那么这里返回所有包含.a的dom元素<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selector = jQuery.multiFilter( selector, this );<br>&nbsp;&nbsp;&nbsp;var isArrayLike = selector.length &amp;&amp; selector[selector.length - 1] !== undefined &amp;&amp; !selector.nodeType;<br>&nbsp;&nbsp;&nbsp;return this.filter(function() {//此函数的第一个参数为i,this为dom元素, 如果这个dom元素不在包含.a的dom数组<br>&nbsp;&nbsp;&nbsp;内，那么返回该元素，也就是说返回所有不包含.a的元素<br>&nbsp;&nbsp;&nbsp;&nbsp;return isArrayLike ? jQuery.inArray( this, selector ) &lt; 0 : this != selector;<br>&nbsp;&nbsp;&nbsp;});<br>&nbsp;&nbsp;}&nbsp;&nbsp; <br>&nbsp;&nbsp;filter: function( selector ) {<br>&nbsp;&nbsp;&nbsp;return this.pushStack(<br>&nbsp;&nbsp;&nbsp;&nbsp;jQuery.isFunction( selector ) &amp;&amp;<br>&nbsp;&nbsp;&nbsp;&nbsp;jQuery.grep(this, function(elem, i){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return selector.call( elem, i );<br>&nbsp;&nbsp;&nbsp;&nbsp;}) ||</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;jQuery.multiFilter( selector, this ) );<br>&nbsp;&nbsp;}<br>&nbsp;*/<br>&nbsp;&nbsp;&nbsp;&nbsp;else if ( m[1] == "." )//如果m[1]为.那么它肯定是过滤.className<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r = jQuery.classFilter(r, m[2], not);//r为dom数组,m[2]为className<br>&nbsp;/*<br>&nbsp;//对dom数组里的元素进行className的过滤，如m为".a"那么返回所有className包含.a的元素，<br>&nbsp;如果not为true，那么返回所有className不包含.a的元素。<br>&nbsp;classFilter: function(r,m,not){//r为dom数组或jq实例,m为className,not表示返回是否包含某个className的元素<br>&nbsp;&nbsp;&nbsp;m = " " + m + " ";//className前后加空格是为了防止如className为"ab", 这样m为a的话也算包含a了,而通过" a "可以避免这种情况<br>&nbsp;&nbsp;&nbsp;var tmp = [];//保存返回dom元素的数组<br>&nbsp;&nbsp;&nbsp;for ( var i = 0; r[i]; i++ ) {//进行遍历处理，判断dom元素是否包含这个class<br>&nbsp;&nbsp;&nbsp;&nbsp;var pass = (" " + r[i].className + " ").indexOf( m ) &gt;= 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;if ( !not &amp;&amp; pass || not &amp;&amp; !pass )//not不存在,并且找到了，或者not为true,没找到的情况临时数组保存该dom元素<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp.push( r[i] );//这里也可以通过if(!!not^pass)进行异或来判断<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;return tmp;<br>&nbsp;&nbsp;}<br>&nbsp;*/<br>&nbsp;&nbsp;&nbsp;&nbsp;else if ( m[1] == "[" ) {//如果m[1]为[,那么它就是过滤属性的<br>&nbsp;&nbsp;&nbsp;&nbsp;///^(\[) <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#42;&#64;&#63;&#40;&#91;&#92;&#119;">*@?([\w</a>-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,// 匹配如[@value='test'], [@foo]&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var tmp = [], type = m[3];//m[3]也就是包含!= ^= $= ~=这些<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for ( var i = 0, rl = r.length; i &lt; rl; i++ ) {//遍历dom数组<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var a = r[i], z = a[ jQuery.props[m[2]] || m[2] ];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//jQuery.props[m[2]]返回真是的属性名字,如果props返回为undefined那么z=a[m[2]],如elem.readOnly<br>&nbsp;/*<br>&nbsp;&nbsp;props: {<br>&nbsp;&nbsp;&nbsp;"for": "htmlFor",<br>&nbsp;&nbsp;&nbsp;"class": "className",<br>&nbsp;&nbsp;&nbsp;"float": styleFloat,<br>&nbsp;&nbsp;&nbsp;cssFloat: styleFloat,<br>&nbsp;&nbsp;&nbsp;styleFloat: styleFloat,<br>&nbsp;&nbsp;&nbsp;readonly: "readOnly",<br>&nbsp;&nbsp;&nbsp;maxlength: "maxLength",<br>&nbsp;&nbsp;&nbsp;cellspacing: "cellSpacing"<br>&nbsp;&nbsp;}<br>&nbsp;*/<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( z == null || /href|src|selected/.test(m[2]) )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如果z不存在或者m[2]是href|src|selected中毒一个<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z = jQuery.attr(a,m[2]) || '';//通过attr函数再去找看是否是elem.style的属性,存在返回,不存在返回空字符串</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( (type == "" &amp;&amp; !!z ||//如果!= ^= $= ~=不存在并且z存在[name]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type == "=" &amp;&amp; z == m[5] ||//如果type为=,z存在,并且z == xxx如[name=xxx]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type == "!=" &amp;&amp; z != m[5] ||//如果type为!=,z存在,并且z != xxx如[name!=xxx]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type == "^=" &amp;&amp; z &amp;&amp; !z.indexOf(m[5]) ||如果type为^=,z存在,并且z中能找到m[5]开始，z.indexOf(xxx)如[name^=xxx]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type == "$=" &amp;&amp; z.substr(z.length - m[5].length) == m[5] ||//以m[5]结束<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (type == "*=" || type == "~=") &amp;&amp; z.indexOf(m[5]) &gt;= 0)//z中能找到m[5]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ^ not )//就行异或,not为true则返回以上条件为false的元素,not不存在则返回以上结果为true的元素<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp.push( a );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r = tmp;//循环结果r保存过滤到的元素数组<br>&nbsp;&nbsp;&nbsp;&nbsp;} else if ( m[1] == ":" &amp;&amp; m[2] == "nth-child" ) {///^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,// 匹配:nth-child(4n)&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var merge = {}, tmp = [],//merge用来避免取到相同元素<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(//匹配 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'等<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m[3] == "even" &amp;&amp; "2n" || m[3] == "odd" &amp;&amp; "2n+1" ||//如:nth-child(even)则even变为2n,odd为2n+1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!/\D/.test(m[3]) &amp;&amp; "0n+" + m[3] || m[3]),//如果为nth-child(3)则3变为0n+3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first = (test[1] + (test[2] || 1)) - 0, last = test[3] - 0;//如2n+1那么first为2,last为1,如0n+3那么first为0,last为3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如果test[2]为0的话，因为这里0是个字符串所以"0"||1仍旧返回0,只有当test[2]不存在的情况才为1,也就是如n,n+1这种<br>&nbsp;&nbsp;&nbsp;&nbsp; //遍历dom数组<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for ( var i = 0, rl = r.length; i &lt; rl; i++ ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var node = r[i], parentNode = node.parentNode, id = jQuery.data(parentNode);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//node保存dom元素,parentNode保存dom元素的父元素,id为该父元素的expando属性的值<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( !merge[id] ) {//判断此父元素是否被遍历，防止重复遍历。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var c = 1;/</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for ( var n = parentNode.firstChild; n; n = n.nextSibling )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( n.nodeType == 1 )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.nodeIndex = c++;<br>&nbsp;&nbsp;&nbsp;&nbsp;//对每个元素进行处理,用nodeIndex来保存元素所在父元素的位置,如第一个则nodeIndex为1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;merge[id] = true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var add = false;//add用来表示是否满足条件</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( first == 0 ) {//如果first为0也就是:nth(3)这种情况<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( node.nodeIndex == last )//如果当前元素的nodeIndex等于last 则add为true<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add = true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else if ( (node.nodeIndex - last) % first == 0 &amp;&amp; (node.nodeIndex - last) / first &gt;= 0 )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如2n+1,那么当nodeIndex为3-1%2 == 0时,add为true，如2n+3, 1 - 3 / 2 == -1是不成立的<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add = true;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( add ^ not )//进行异或,把满足条件的元素推进tmp数组<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp.push( node );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r = tmp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //除了:not(.a), .className, [name = xxx] :nth-child(2n+1),这些情况外的进行以下处理<br>&nbsp;&nbsp;&nbsp;&nbsp;} else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var fn = jQuery.expr[ m[1] ];//m[1]可以为"", ":", "#",fn也就是jQuery.expr[""],jQuery.expr["#"],jQuery.expr[":"]<br>&nbsp;/*<br>&nbsp;&nbsp;expr: {<br>&nbsp;&nbsp;&nbsp; //new RegExp("^([:.#]*)(" + chars + "+)")//匹配如 m[1]为空,m[2]为nodeName或者"*"<br>&nbsp;&nbsp;&nbsp;"": function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},<br>&nbsp;&nbsp;&nbsp;//a为elem, i为index, m为匹配到的数组, r为需要过滤的数组,如果m[2]为*，或者a的nodeName为m[2]<br>&nbsp;&nbsp;&nbsp;//如filter("div", r), filter("*",r)<br>&nbsp;&nbsp;&nbsp;"#": function(a,i,m){return a.getAttribute("id")==m[2];}//m[2]为id的值<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;*/<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( typeof fn == "object" )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fn = fn[ m[2] ];<br>&nbsp;//如果fn为对象也就是jQuery.expr[":"]这种情况,fn为jQuery.expr[":"][m[2]]<br>&nbsp;,如jQuery.expr[":"]["first-child"]=function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},<br>&nbsp;所以我们可以很容易对expre[":"]进行扩展，如jQuery.expr[":"].fk = function(elem, i, m){return elem.fk == m[3];}<br>&nbsp;:fk(you)匹配&lt;div fk="you"&gt;&lt;/div&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( typeof fn == "string" )//如果fn为字符串,如jQuery.expr[":"].name ="a.name == arguments[3][3]"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fn = eval("false||function(a,i){return " + fn + ";}");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r = jQuery.grep( r, function(elem, i){//通过grep来得到符合条件的元素<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return fn(elem, i, m, r);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, not );<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;return { r: r, t: t };<br>&nbsp;&nbsp;&nbsp;//返回过滤后的dom数组,和截取后的t,如t = t.substring( m[0].length );//移除匹配到的表达式如t为".a .b"那么匹配到.a后,t为" .b"<br>&nbsp;&nbsp;}</p>
<img src ="http://www.cnitblog.com/asfman/aggbug/50715.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2008-10-27 09:38 <a href="http://www.cnitblog.com/asfman/archive/2008/10/27/50715.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Javascript的调试利器：Firebug使用详解（转） </title><link>http://www.cnitblog.com/asfman/archive/2008/10/24/50663.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Fri, 24 Oct 2008 11:57:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/archive/2008/10/24/50663.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/50663.html</wfw:comment><comments>http://www.cnitblog.com/asfman/archive/2008/10/24/50663.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/50663.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/50663.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: （转：天晓得的专栏）Javascript的调试，是开发Web应用尤其是AJAX应用很重要的一环，目前对Javascript进行调试的工具很多，我比较喜欢使用的是Firebug。Firebug是Joe Hewitt开发的一套与Firefox集成在一起的功能强大的web开发工具，可以实时编辑、调试和监测任何页面的CSS、HTML和JavaScript。本文主要是为初学者介绍一下Firebug的基本...&nbsp;&nbsp;<a href='http://www.cnitblog.com/asfman/archive/2008/10/24/50663.html'>阅读全文</a><img src ="http://www.cnitblog.com/asfman/aggbug/50663.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2008-10-24 19:57 <a href="http://www.cnitblog.com/asfman/archive/2008/10/24/50663.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>天道台词</title><link>http://www.cnitblog.com/asfman/archive/2008/09/08/48828.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Mon, 08 Sep 2008 01:22:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/archive/2008/09/08/48828.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/48828.html</wfw:comment><comments>http://www.cnitblog.com/asfman/archive/2008/09/08/48828.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/48828.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/48828.html</trackback:ping><description><![CDATA[<p><strong>&nbsp;&nbsp;&nbsp; 他跟正常人的思维颠倒了。说鬼话,办鬼事,倒行逆施。但是还有道理。像魔,柏林有个居士说他是极品混混。</strong>
</p>
<p><strong>&nbsp;&nbsp;&nbsp; 国内信用是个问题,私募基金是没爹没娘的买卖,一边做生意,一边得准备拼刀子,脑后还得长只眼睛看衙门得脸色。</strong>
</p>
<p><strong>&nbsp;&nbsp;&nbsp;
建时凭心凭理超度亲疏,不是佛门正本,但他得佛根理只有熔点没有正智,所以他看我是一个元宝不失德性，一坛元宝图财害命。</strong>
</p>
<p><strong>&nbsp; 他是佛是修来世正果得佛,他还得到佛祖那里多咨询咨询。</strong>
</p>
<p><strong>&nbsp; 正果是不想了。尘埃落定。</strong>
</p>
<p><strong>&nbsp; 一个恕字我已经有罪了。</strong>
</p>
<p><strong>&nbsp;&nbsp; 那是文化属性，不以他们的意志为转移。</strong>
</p>
<p><strong>&nbsp; 北京像个淘金场，个个觉得自己是龙胎凤种，太闹了。</strong>
</p>
<p><strong>&nbsp;
我们这个民族总是以有文化自居，却忘了问一句，是有什么文化，是真理真相得文化，还是弱势文化，是符合事物规律得文化还是违背事物规律得文化，归根到底都是那种文化属性得产物，不以人得意志为转移。</strong>
</p>
<p><strong>&nbsp;&nbsp;
改革开放，摸着石头过河，咱们这些人还没有弄清怎么回事就胡里胡涂闯入战场，得先活下来。等定下神来，时代已经变了，真的是穷则思变。可中国毕竟是政治文化搭台，传统文化唱戏，不知道老祖宗得那点东西还能把这条船撑多远。</strong>
</p>
<p><strong>&nbsp;&nbsp;
马克思主义得道理归根到底一句话，客观规律不以人得意志为转移，什么是客观规律，归根到底也是一句话：一切以时间，地点和条件为转移。</strong>
</p>
<p><strong>&nbsp;&nbsp;
中国得传统文化是皇恩浩荡得文化，他得实用是以皇天在上为先决条件，中国为什么穷，穷就穷在幼稚得思维，穷在期望救主，期望救恩得文化上，这是一个渗透到民族骨子里得价值判断体系。太可怕了！</strong>
</p>
<p><strong>&nbsp; 《自嘲》本是后山人，偶坐前堂客；醉舞经阁半卷书，坐井说天阔。大志戏功名，海斗量福祸。论到囊中羞涩时，怒指乾坤错。</strong>
</p>
<p><strong>&nbsp; 我还没有装腔作势到可以无视可能发生得事情，但是你看到得东西不一定是个东西，天知，地知，不会有结果。</strong>
</p>
<p><strong>&nbsp; 女人是形式逻辑的典范，是辩证逻辑的障碍，我无意摧残女人，也不想被女人摧残。</strong>
</p>
<p><strong>&nbsp;&nbsp; 红颜知己自古有之，这还得看男人是不是一杯好酒，自古又有几个男人能把自己酿到淡而又淡得名贵，这不是为之而可为得事，能混就混吧。
</strong>
</p>
<p><strong>&nbsp;
你是一块玉，但我不是匠人，我不过事一个略懂投机之道得混子。充其量挣几个打发凡夫俗子得铜板，你要求得是一种雄性文化得魂，我不能因为你没有说出来而装作不知道，接受你就接受了一种高度，我没有这个自信。</strong>
</p>
<p><strong>&nbsp;&nbsp;
正法了一个罪犯包含打死了一个人，这就是法律得价值、法理、道理，都在那儿搁着。如果女性心理不适合刑警工作，那是性别问题。</strong>
</p>
<p><strong>&nbsp;&nbsp; 着相了，佛教得一个术语，意思是执迷于表象而偏离本质。</strong>
</p>
<p><strong>&nbsp;&nbsp;
透视社会依次有三个层面，技术、制度、和文化。小到一个人，大到一个国家一个民族,任何一种命运归根到底都是那种文化属性得产物。强势文化造就强者，弱势文化造就弱者，这是规律。也可以理解为天道，不以人得意志为转移。</strong>
</p>
<p><strong>&nbsp;&nbsp;
强势文化就是遵循事物规律得文化，弱势文化就是依赖强者得道德期望破格获取得文化，也是期望救主得文化。强势文化在武学上被称为秘笈，而弱势文化由于易学、易懂、易用、成了流行品种。</strong>
</p>
<p><strong>&nbsp;&nbsp;
比如说文化产业。文学、影视是扒拉灵魂得艺术。如果文学影视得创作能破解更高思维空间得文化密码，那么他得功效就是启迪认得觉悟，震撼认得灵魂，这是众生所需，就是功德、市场、名利、精神拯救得暴利与毒品麻醉完全等值。而且不必像贩毒那样耍花招没有心理成本和法律风险。</strong>
</p>
<p><strong>&nbsp;&nbsp;
那个暴利不是由我决定得，是由认得主决定的。主让众生把他口袋里得钱掏出来，由不得他不掏，因为不是我让人有了灵，是上帝。</strong>
</p>
<p><strong>&nbsp;&nbsp; 没有主，主义、主意从哪儿来？主无处不在，简单得说，支配人得价值取舍行为得那东西就是主，就是文化属性。</strong>
</p>
<p><strong>&nbsp;&nbsp; 理论上只要判断正确就有可能，但是在判断得实践上通常会有错误，所以可能得概率取决于错误得大小。</strong>
</p>
<p><strong>&nbsp;&nbsp; 这个人需要一个句号，你可以帮他画一个。</strong>
</p>
<p><strong>&nbsp; 灵魂归宿感，这是人性本能得需要，是人性你帮他找块干净得地方归宿灵魂。</strong>
</p>
<p><strong>&nbsp; 他需要得不是忏悔，而是一个忏悔得理由。</strong>
</p>
<p><strong>&nbsp; 文明对于不能以人字界定得人无能为力。</strong>
</p>
<p><strong>&nbsp; 死马当作活马医，再糟，死马还能再死一回。</strong>
</p>
<p><strong>&nbsp;&nbsp;
股票的暴利并不产生生产经营，而是产生于股票市场本身的投机性。他的运作动力是把你口袋里的钱装到我的口袋里去，他的规律是，</strong>
</p>
<p><strong>&nbsp;&nbsp;
把大多数的肉填到极少数狼的嘴里。私募基金是从狼嘴里夹肉。这就要求你得比狼更黑更狠，但是心理成本也更高，而且又多了一重股市之外得风险。所以，得适可而止。</strong>
</p>
<p><strong>&nbsp;&nbsp; 这说明你还有自我认同得需要。这是人得特性、如果你连这个起码得需要都没有。我就有理由对你作为人发的属性提出质疑。</strong>
</p>
<p><strong>&nbsp;&nbsp;
强盗得本质是破格获取，破格获取和直接获取是两个不同的概念。你们没有自信与强者在同一个规则下竞争，这只能说明你是弱者，因为弱势文化所追求得最高价值就是破格获取。所以，强盗得逻辑从本质上讲是嘴懦弱得生存哲学，所以你不算好汉。</strong>
</p>
<p><strong>&nbsp;&nbsp;&nbsp;
圣经得理由是，因信着得救了，上天堂，因不信有罪了，下地狱。用这种哄孩子，吓孩子得方法让人去信，虽有利于基督教得实践,却也恰恰迎合了人得怕死得一面。贪婪得一面，这样得因果关系已经不给人以自觉自行得机会，人连追求高尚得机会都没了，又何以高尚呢</strong>
</p>
<p><strong>&nbsp;&nbsp; 不因上天堂与下地狱得因果关系而具有得极高人生境界，就是窄门。</strong>
</p>
<p><strong>&nbsp;&nbsp;&nbsp; 你要是真把这事看玄了那就真会出魔了。</strong>
</p>
<p><strong>&nbsp;&nbsp; 神即道，道法自然，如来。</strong>
</p>
<p><strong>&nbsp;&nbsp; 这世上原来就没有什么神话。所谓得神话，不过是常人得思维所不易理解得平常事。</strong>
</p>
<p><strong>&nbsp;&nbsp;&nbsp;
无论做什么，市场不是一块无限大的蛋糕。神话得实质就是强制力作用下得杀富济贫，这就可能产生两个问题一是杀富是不是破坏性开采市场资源，二是让井底得人扒着井沿看了一眼再掉下去是不是让他患上精神绝症。</strong>
</p>
<p><strong>&nbsp;&nbsp; 这就是圆融世故，不显山不露水，各得其所。可品行这个东西今天缺个角，明天裂个缝，也就离坍陷不远了。</strong>
</p>
<p><strong>&nbsp;&nbsp;
悟，悟道休言天命；修行勿取真经。一悲一喜一枯荣，哪个前生注定。袈裟本无清静，红尘不染性空，幽幽古刹千年钟，都是痴人说梦。</strong>
</p>
<p><strong>&nbsp;&nbsp;&nbsp; 所谓真经，就是能够达到寂空涅盘得究竟法门。可悟不可修。修为成佛，在求。悟为明性，在知。修行以行制性。悟道以性施行&nbsp;
。觉着由心，生律；修者以律制心，不落恶果者有信无证，住因住果，住念住心，如是生灭。不昧因果者无住而住。无欲无不欲。无戒无不戒。如是涅盘。</strong>
</p>
<p><strong>&nbsp;&nbsp; 击水，不起浪花，也泛涟漪。</strong>
</p>
<p><strong>&nbsp;&nbsp; 天下之论道到极致，百姓得柴米油盐，人生冷暖论道到极致，男人女人得一个情字。</strong>
</p>
<p><strong>&nbsp;&nbsp;&nbsp;&nbsp; 佛说，看山是山，看水是水。我只是依佛法如实观照，看摩登女郎实摩登女郎，看红颜知己实红颜知己。</strong>
</p>
<p><strong>&nbsp;&nbsp;&nbsp; 你的生存状态不是病态，用佛教的话说是自性，无所挂碍，是自在。自在是什么？就是解脱。</strong>
</p>
<p><strong>&nbsp;&nbsp;&nbsp;&nbsp; 当有人笑话耶稣是傻子的时候，其实谁都不傻，仅仅是两种价值观不兼容。</strong>
</p>
<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;
如果一个民族的文化从骨子里就是弱势文化属性，怎么可能去承载强势文化的政治、经济。衡量一种文化属性不是看他的积淀时间长短,而是看他与客观规律的距离。五千年的文化是光辉，是灿烂。这个没有问题。但是，传统和习俗得过过客观规律的筛</strong>子。</p><img src ="http://www.cnitblog.com/asfman/aggbug/48828.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2008-09-08 09:22 <a href="http://www.cnitblog.com/asfman/archive/2008/09/08/48828.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>