<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11890499</id><updated>2011-07-08T07:43:59.162+08:00</updated><category term='Sites'/><category term='Plugins'/><category term='jQuery'/><category term='Performance'/><category term='RDF'/><category term='Add-ons'/><category term='CSS'/><category term='Yeeyan'/><category term='Adblock Plus'/><category term='VirtualBox'/><category term='ECMAScript'/><category term='Extension'/><category term='XUL'/><category term='About'/><category term='Douban'/><category term='Tips'/><category term='Blogger'/><category term='Greasemonkey'/><category term='Knowledge'/><category term='Firefox'/><category term='Firebug'/><category term='Resources'/><category term='Mozilla'/><category term='Scripts'/><category term='Eclipse'/><category term='HTML'/><category term='Tools'/><category term='Ubuntu'/><category term='XBL'/><category term='JavaScript'/><category term='OCR'/><category term='TraceMonkey'/><category term='Books'/><title type='text'>七月佑安</title><subtitle type='html'>Yet Another JavaScript Nerd</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cuimingda.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default?start-index=101&amp;max-results=100'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>131</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11890499.post-7684442042794961252</id><published>2009-06-15T01:19:00.001+08:00</published><updated>2009-06-15T01:21:16.407+08:00</updated><title type='text'>搬家</title><content type='html'>限于blogspot的各种限制，决定将博客平台更改为WordPress，相应的这个博客也将停止更新，以前的内容将陆续迁移到新的地址（http://oragg.com）。&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-7684442042794961252?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=7684442042794961252' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/7684442042794961252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/7684442042794961252'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/06/blog-post.html' title='搬家'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-8951068353419694657</id><published>2009-02-18T22:38:00.006+08:00</published><updated>2009-02-18T23:05:46.331+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><title type='text'>Mozilla专有JavaScript扩展之一（__noSuchMethod__）</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;&lt;/span&gt;JavaScript中有很多内部属性和方法，在大多数情况下，只有JavaScript引擎才可以访问，但不论什么都是有特例的，在这里就是指Mozilla的JavaScript引擎，包括SpiderMonkey和Rhino，都提供了若干接口来访问这些内部属性，如果加以合理利用的话，不仅可以让JavaScript更加健壮，还可以开发出一些有意思的功能，比如本文介绍的__noSuchMethod__()方法就是其中之一。&lt;/p&gt;&lt;div class="fullpost"&gt;&lt;strong&gt;著作权声明&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cuimingda.com/2009/02/mozilla-javascript-nosuchmethod.html"&gt;本文&lt;/a&gt;译自&lt;a href="http://www.nczonline.net/about/"&gt;Nicholas C. Zakas&lt;/a&gt;于2009年2月17日在&lt;a href="http://www.nczonline.net/"&gt;个人网站&lt;/a&gt;上发表的《&lt;a href="http://www.nczonline.net/blog/2009/02/17/mozilla-javascript-extension-nosuchmethod/"&gt;Mozilla JavaScript extension: __noSuchMethod__&lt;/a&gt;》。&lt;a href="http://www.nczonline.net/blog/2009/02/17/mozilla-javascript-extension-nosuchmethod/"&gt;原文&lt;/a&gt;是唯一的正式版，本文是经过原作者（Nicholas C. Zakas）授权的简体中文翻译版（Simplified Chinese Translation）。译者（&lt;a href="https://twitter.com/cuimingda"&gt;明达&lt;/a&gt;）在翻译的准确性上做了大量的努力，并承诺译文的内容完全忠于原文，但可能还是包含疏漏和不妥之处，欢迎大家&lt;a href="https://twitter.com/cuimingda"&gt;指正&lt;/a&gt;。译注的内容是非正式的，仅代表译者个人观点。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;和其它浏览器相比，Mozilla的JavaScript引擎总会有一些与众不同的亮点。SpiderMonkey和他的好搭档Rhino（用 Java实现的JavaScript引擎）都提供了很多扩展特性，可以帮助我们开发更加健壮的JavaScript应用。其中之一就是本地对象的__noSuchMethod__()方法。在大多数JavaScript引擎中，访问一个不存在的方法时都只会简单的抛出错误，而在Mozilla的引擎中，这只是默认行为，我们可以通过覆盖某个对象的__noSuchMethod__()方来来重新定义这个行为。当这个对象试图调用一个不存在的方法时，就会触发该对象的__noSuchMethod__()方法。&lt;br /&gt;&lt;br /&gt;当__noSuchMethod__()方法被调用时，JavaScript引擎会传入两个参数，一个是调用方法的名称，一个是参数数组，对应于要传递给调用方法的所有参数，注意这个参数数组应该是一个Array对象，而不是arguments对象，而且就算没有参数，也要传递一个空数组，下面举一个简单的例子加以说明：&lt;pre class="source-code"&gt;&lt;code&gt;// 注意，下面的代码只有在使用SpiderMonkey或者Rhino的浏览器中才会被正确解析&lt;br /&gt;var person = {&lt;br /&gt;    name: "Nicholas",&lt;br /&gt;    __noSuchMethod__: function(name, args) {&lt;br /&gt;        alert("Method called '" + name + "' executed with arguments [" + args + "]");&lt;br /&gt;    }&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;//"Method called 'sayName' executed with arguments []"&lt;br /&gt;person.sayName(); &lt;br /&gt;&lt;br /&gt;//"Method called 'phone' executed with arguments [Mike]"&lt;br /&gt;person.phone("Mike"); &lt;/code&gt;&lt;/pre&gt;这段代码定义了一个person对象，并重写了该对象的__noSuchMethod__()方法。当调用person对象的sayName()方法和phone()方法时，由于这两个方法都不存在，所以__noSuchMethod__()方法会被自动调用，这样我们就避免了一个错误的显示，并且可以做出相应的处理。在上面这个例子中，我们所做的处理就是直接将方法的名称和传递的参数直接显示出来。&lt;br /&gt;&lt;br /&gt;但话说回来，在运行时才发现未定义方法的情况，是不该出现在正常的开发实践中的，那简直就是自取烦恼。对于通常的情况来说，这个方法似乎没有什么作用，但他确实为我们提供了一个可能性，来创建一些有趣的动态工具，比如说建立一个可以输出有效XHTML文档的对象：&lt;pre class="source-code"&gt;&lt;code&gt;function HTMLWriter() {&lt;br /&gt;    this._work = [];&lt;br /&gt;}&lt;br /&gt;HTMLWriter.prototype = {&lt;br /&gt;    escape: function(text) {&lt;br /&gt;        return text.replace(/[&amp;gt;&amp;lt;"&amp;]/g,&lt;br /&gt;        function(c) {&lt;br /&gt;            switch (c) {&lt;br /&gt;            case "&amp;gt;":&lt;br /&gt;                return "&amp;gt;";&lt;br /&gt;            case "&amp;lt;":&lt;br /&gt;                return "&amp;lt;";&lt;br /&gt;            case "\"":&lt;br /&gt;                return """;&lt;br /&gt;                case " &amp; ": return " &amp; ";&lt;br /&gt;            }&lt;br /&gt;        });&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    startTag: function(tagName, attributes){&lt;br /&gt;        this._work.push(" &amp;lt; " + tagName);&lt;br /&gt;&lt;br /&gt;        if (attributes){&lt;br /&gt;            var name, value;&lt;br /&gt;            for (name in attributes){&lt;br /&gt;                if (attributes.hasOwnProperty(name)){&lt;br /&gt;                    value = this.escape(attributes[name]);&lt;br /&gt;                    this._work.push("" + name + " = \"" + value + "\"");&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    this._work.push("&amp;gt;");&lt;br /&gt;},&lt;br /&gt;text: function(text) {&lt;br /&gt;    this._work.push(this.escape(text));&lt;br /&gt;},&lt;br /&gt;endTag: function(tagName) {&lt;br /&gt;    this._work.push("");&lt;br /&gt;},&lt;br /&gt;toString: function() {&lt;br /&gt;    return this._work.join("");&lt;br /&gt;}&lt;br /&gt;};&lt;br /&gt;var writer = new HTMLWriter();&lt;br /&gt;writer.startTag("html");&lt;br /&gt;writer.startTag("head");&lt;br /&gt;writer.startTag("title");&lt;br /&gt;writer.text("Example &amp; Test");&lt;br /&gt;writer.endTag("title");&lt;br /&gt;writer.endTag("head");&lt;br /&gt;writer.startTag("body", {&lt;br /&gt;    style: "background-color: red"&lt;br /&gt;});&lt;br /&gt;writer.text("Hello world!");&lt;br /&gt;writer.endTag("body");&lt;br /&gt;writer.endTag("html");&lt;br /&gt;alert(writer);&lt;/code&gt;&lt;/pre&gt;这段代码通过三个方法来完成任务，分别是：startTag()、endTag()和text()。而上面给出的调用例子，却显得非常冗长。想象一下，如果不使用startTag()、endTag()和text()这三个方法，而是为每一个有效的XHTML标记都建立一个方法，那么这个例子的调用方法可能就会变成下面这个样子了：&lt;pre class="source-code"&gt;&lt;code&gt;var writer = new HTMLWriter();&lt;br /&gt;var result = writer.html().head().title().text("Example &amp; Test").xtitle().xhead()&lt;br /&gt;    .body().text("Hell world!").xbody().xhtml().toString();&lt;/code&gt;&lt;/pre&gt;由于每个标签的实现大致相同，所以我们可能需要为HTMLWriter对象复制一系列非常相似的方法，这无疑是一种严重的浪费行为。而这正是__noSuchMethod__()发挥真正作用的时候。让我们来看看用__noSuchMethod__()来实现这种效果到底有多么简单：&lt;pre class="source-code"&gt;&lt;code&gt;function HTMLWriter(){&lt;br /&gt;    this._work = [];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;HTMLWriter.prototype = {&lt;br /&gt;&lt;br /&gt;    escape: function (text){&lt;br /&gt;        return text.replace(/[&amp;gt;&amp;lt;"&amp;]/g, function(c){&lt;br /&gt;            switch(c){&lt;br /&gt;                case "&amp;gt;": return "&amp;gt;";&lt;br /&gt;                case "&amp;lt;": return "&amp;lt;";&lt;br /&gt;                case "\"": return """;&lt;br /&gt;                case "&amp;": return "&amp;";&lt;br /&gt;            }&lt;br /&gt;        });&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    text: function(text){&lt;br /&gt;        this._work.push(this.escape(text));&lt;br /&gt;        return this;&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    toString: function(){&lt;br /&gt;        return this._work.join("");&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    __noSuchMethod__: function(name, args){&lt;br /&gt;        var tags = [&lt;br /&gt;            "a", "abbr", "acronym", "address", "applet", "area",&lt;br /&gt;            "b", "base", "basefont", "bdo", "big", "blockquote",&lt;br /&gt;            "body", "br", "button",&lt;br /&gt;            "caption", "center", "cite", "code", "col", "colgroup",&lt;br /&gt;            "dd", "del", "dir", "div", "dfn", "dl", "dt",&lt;br /&gt;            "em",&lt;br /&gt;            "fieldset", "font", "form", "frame", "frameset",&lt;br /&gt;            "h1", "h2", "h3", "h4", "h5", "h6", "head", "hr", "html",&lt;br /&gt;            "i", "iframe", "img", "input", "ins", "isindex",&lt;br /&gt;            "kbd",&lt;br /&gt;            "label", "legend", "li", "link",&lt;br /&gt;            "map", "menu", "meta",&lt;br /&gt;            "noframes", "noscript",&lt;br /&gt;            "object", "ol", "optgroup", "option",&lt;br /&gt;            "p", "param", "pre",&lt;br /&gt;            "q",&lt;br /&gt;            "s", "samp", "script", "select", "small", "span", "strike",&lt;br /&gt;            "strong", "style", "sub", "sup",&lt;br /&gt;            "table", "tbody", "td", "textarea", "tfoot", "th", "thead",&lt;br /&gt;            "title", "tr", "tt",&lt;br /&gt;            "u", "ul",&lt;br /&gt;            "var"&lt;br /&gt;        ];&lt;br /&gt;&lt;br /&gt;        var closeTag = (name.charAt(0) == "x"),&lt;br /&gt;            tagName = closeTag ? name.substring(1) : name;&lt;br /&gt;&lt;br /&gt;        if (tags.indexOf(tagName) &amp;gt; -1){&lt;br /&gt;            if (!closeTag){&lt;br /&gt;                this._work.push("&amp;lt;" + tagName);&lt;br /&gt;&lt;br /&gt;                if (args.length){&lt;br /&gt;                    var attributes = args[0],&lt;br /&gt;                        name, value;&lt;br /&gt;                    for (name in attributes){&lt;br /&gt;                        if (attributes.hasOwnProperty(name)){&lt;br /&gt;                            value = this.escape(attributes[name]);&lt;br /&gt;                            this._work.push(" " + name + "=\"" +&lt;br /&gt;                                 value + "\"");&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                this._work.push("&amp;gt;");&lt;br /&gt;            } else {&lt;br /&gt;                this._work.push("");&lt;br /&gt;            }&lt;br /&gt;            return this;&lt;br /&gt;        } else {&lt;br /&gt;            throw new Error("Method '" + name + "' is undefined.");&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;};&lt;/code&gt;&lt;/pre&gt;这段代码的主要功能都是在__noSuchMethod__()中实现的。它包含一个数组，对应于全部有效的XHTML标签，用于查找可以调用的方法。如果需要关闭标签，只需要在方法名前面加一个“x”就可以，在__noSuchMethod__()中，会对方法名的首字母进行判断，如果首字母是“x”，就会标记为结束标签，并将“x”从方法名称中去掉。接下来，会通过Mozilla的数组扩展 indexOf()来判断方法名称是否在可用标签的数组里面，如果方法名是无效的，就会抛出一个错误；如果方法名是有效的，就会返回生成的标签字符串。代码所支持的标签数量是可以动态设置的，我们只需要对标签列表数组进行修改，就可以达到添加或者删除“方法”的目的。&lt;br /&gt;&lt;br /&gt;很显然，由于这个特性不能跨浏览器，所以肯定不能用于通常的情况下。但对于那些专门针对Mozilla引擎（比如Firefox等）的JavaScript应用来说，这无疑为我们敞开了一道神奇的大门，尤其在开发动态接口时，__noSuchMethod__()将是一个非常强有力的工具。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-8951068353419694657?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=8951068353419694657' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/8951068353419694657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/8951068353419694657'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/02/mozilla-javascript-nosuchmethod.html' title='Mozilla专有JavaScript扩展之一（__noSuchMethod__）'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-4735015162463174511</id><published>2009-02-12T11:59:00.024+08:00</published><updated>2009-02-17T14:11:39.365+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>在JavaScript中，为什么要尽可能使用局部变量？</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;在&lt;/span&gt;JavaScript中，我们应该尽可能的用局部变量来代替全局变量，这句话所有人都知道，可是这句话是谁先说的？为什么要这么做？有什么根据么？不这么做，对性能到底能带来多大的损失？本文就来探讨这些问题的答案，从根本上了解变量的读写性能都和哪些因素有关。&lt;/p&gt;&lt;div class="fullpost"&gt;&lt;strong&gt;著作权声明&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cuimingda.com/2009/02/javascript-variable-performance.html"&gt;本文&lt;/a&gt;译自&lt;a href="http://www.nczonline.net/about/"&gt;Nicholas C. Zakas&lt;/a&gt;于2009年2月10日在&lt;a href="http://www.nczonline.net/"&gt;个人网站&lt;/a&gt;上发表的《&lt;a href="http://www.nczonline.net/blog/2009/02/10/javascript-variable-performance/"&gt;JavaScript Variable Performance&lt;/a&gt;》。&lt;a href="http://www.nczonline.net/blog/2009/02/10/javascript-variable-performance/"&gt;原文&lt;/a&gt;是唯一的正式版，本文是经过原作者（Nicholas C. Zakas）授权的简体中文翻译版（Simplified Chinese Translation）。译者（&lt;a href="https://twitter.com/cuimingda"&gt;明达&lt;/a&gt;）在翻译的准确性上做了大量的努力，并承诺译文的内容完全忠于原文，但可能还是包含疏漏和不妥之处，欢迎大家&lt;a href="https://twitter.com/cuimingda"&gt;指正&lt;/a&gt;。译注的内容是非正式的，仅代表译者个人观点。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;在如何提高JavaScript性能这个问题上，大家最常听到的建议应该就是尽量使用局部变量（local variables）来代替全局变量（global variables）。在我从事Web开发工作的九年时间里，这条建议始终萦绕在我的耳边，并且从来没有质疑过，而这条建议的基础，则来自于 JavaScript处理作用域（scoping）和标识符解析（identifier resolution）的方法。&lt;br /&gt;&lt;br /&gt;首先我们要明确，函数在JavaScript中具体表现为对象，创建一个函数的过程，其实也就是创建一个对象的过程。每个函数对象都有一个叫做 [[Scope]]的内部属性，这个内部属性包含创建函数时的作用域信息。实际上，[[Scope]]属性对应的是一个对象（Variable Objects）列表，列表中的对象是可以从函数内部访问的。比如说我们建立一个全局函数A，那么A的[[Scope]]内部属性中只包含一个全局对象（Global Object），而如果我们在A中创建一个新的函数B，那么B的[[Scope]]属性中就包含两个对象，函数A的Activation Object对象在前面，全局对象（Global Object）排在后面。&lt;br /&gt;&lt;br /&gt;当一个函数被执行的时候，会自动创建一个可以执行的对象（Execution Object），并同时绑定一个作用域链（Scope Chain）。作用域链会通过下面两个步骤来建立，用于进行标识符解析。&lt;br /&gt;&lt;br /&gt; 1. 首先将函数对象[[Scope]]内部属性中的对象，按顺序复制到作用域链中。&lt;br /&gt; 2. 其次，在函数执行时，会创建一个新的Activation Object对象，这个对象中包含了this、参数（arguments）、局部变量（包括命名的参数）的定义，这个Activation Object对象会被置于作用域链的最前面。&lt;br /&gt;&lt;br /&gt;在执行JavaScript代码的过程中，当遇到一个标识符，就会根据标识符的名称，在执行上下文（Execution Context）的作用域链中进行搜索。从作用域链的第一个对象（该函数的Activation Object对象）开始，如果没有找到，就搜索作用域链中的下一个对象，如此往复，直到找到了标识符的定义。如果在搜索完作用域中的最后一个对象，也就是全局对象（Global Object）以后也没有找到，则会抛出一个错误，提示用户该变量未定义（undefined）。这是在ECMA-262标准中描述的函数执行模型和标识符解析（Identifier Resolution）的过程，事实证明，大部分的JavaScript引擎确实也是这样实现的。需要注意的是，&lt;a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm"&gt;ECMA-262&lt;/a&gt;并没有强制要求采用这种结构，只是对这部分功能加以描述而已。&lt;br /&gt;&lt;br /&gt;了解标识符解析（Identifier Resolution）的过程以后，我们就能明白为什么局部变量的解析速度要比其他作用域的变量快，主要是由于搜索过程被大幅缩短了。但是，具体会快多少呢？为了回答这个问题，我模拟了一系列的测试，来测试不同作用域深度中变量的性能。&lt;br /&gt;&lt;br /&gt;第一个测试是向一个变量中写入一个最简单的值（这里使用字面量的数值1），结果如下图显示，很有趣：&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9Xr1fM9gUIo/SZOfPSKolkI/AAAAAAAAADM/Pauf0M9BiAk/s1600-h/variable_write_performance2.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 271px;" src="http://3.bp.blogspot.com/_9Xr1fM9gUIo/SZOfPSKolkI/AAAAAAAAADM/Pauf0M9BiAk/s400/variable_write_performance2.png" alt="" id="BLOGGER_PHOTO_ID_5301756271268501058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;从结果中不难看出，当标识符解析的过程需要进行深度搜索时，会伴随性能损失，而且性能损失的程度会随着标识符深度的增加而递增。意料之中的是，Internet Explorer表现的是最差的（但公平的说，IE 8还是有一些改善的）。值得注意的是，这里有一些例外情况，Google Chrome和最新的WebKit午夜版在访问变量的时间保持得很稳定，不会随着作用域深度的递增而增长。当然，这应该归功于它们所使用的下一代 JavaScript引擎，V8和SquirrelFish。这些引擎在执行代码时进行了优化，而且很明显，这些优化使访问变量的速度比以往更快。 Opera表现的也很不错，比IE、Firefox和当前版本的Safari要快的多，但比基于V8和Squirrelfish的浏览器要慢。 Firefox 3.1 Beta 2的表现有点出人意料，对于局部变量执行的效率非常高，但随着作用域层数的增加，效率便大打折扣。需要注意的是，我这里使用的都是默认设置，也就是说 Firefox是没有开启Trace功能的。&lt;br /&gt;&lt;br /&gt;上面的结果是通过对变量执行写操作而得出的，其实我很好奇，读取变量时的情况会不会有什么不同，于是接着做了下面的测试。结果发现，读的速度要比写的速度快一些，但是性能变化的趋势是一致的。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SZOfXn_ChFI/AAAAAAAAADU/_fgJQzSh0R0/s1600-h/variable_read_performance2.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 271px;" src="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SZOfXn_ChFI/AAAAAAAAADU/_fgJQzSh0R0/s400/variable_read_performance2.png" alt="" id="BLOGGER_PHOTO_ID_5301756414564402258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;和上个测试一样，Internet Explorer和Firefox还是最慢的，Opera表现了非常抢眼的性能，而同样的，Chrome和最新版本的Webkit午夜版显示了和作用域深度无关的性能趋势，同样需要注意的是，Firefox 3.1 Beta 2的变量访问时间还是会伴随着深度出现一个奇怪的跳跃。&lt;br /&gt;&lt;br /&gt;在测试的过程中，我发现一个有趣的现象，就是Chrome在访问全局变量的时候会有额外的性能损失。访问全局变量的时间和作用域层数没有关系，但是会比访问同样层数的局部变量的时间多出50%。&lt;br /&gt;&lt;br /&gt;这两个测试可以给我们带来什么启示呢？首先是验证了那个古老的观点，就是要尽可能的使用局部变量。在所有的浏览器下，访问局部变量都比访问跨作用域的变量要快，当然也包括全局变量。下面这几点应该是通过这个测试得出的经验吧：&lt;br /&gt;&lt;br /&gt;* 仔细检查函数中所有使用的变量，如果有一个变量不是当前作用域定义的，而且使用了不止一次，那么我们就应该把这个变量保存在局部变量中，而使用这个局部变量来进行读写操作。这样可以帮助我们将作用域外的变量的搜索深度减少到1.这对全局变量尤为重要，因为全局变量总是被放到作用域链的最后位置来搜索。&lt;br /&gt;* 避免使用with语句。因为它会修改执行上下文（Execution Context）的作用域链，在最前面添加一个对象（Variable Object）。这就意味着在执行with的过程中，实际上的局部变量都被移到作用域链上的第二个位置，这会带来性能上的损失。&lt;br /&gt;* 如果你确定一段代码肯定会抛出异常，那么就要避免使用try-catch，因为catch分支在作用域链上的处理方法和with是一样的。但try分支的代码是没有性能损失的，所以还是建议用try-catch来捕获那些不可预知的错误。&lt;br /&gt;&lt;br /&gt;如果你想围绕这个话题展开更多的讨论，我在上个月的&lt;a href="http://javascript.meetup.com/9/"&gt;Mountain View JavaScript Meetup&lt;/a&gt;中曾经发表了一个小演讲。可以在SlideShare上下载&lt;a href="http://www.slideshare.net/nzakas/java-script-variable-performance-presentation"&gt;幻灯片&lt;/a&gt;，或者观看聚会的&lt;a href="http://www.youtube.com/watch?v=MHBbK9dt0Kg"&gt;完整视频&lt;/a&gt;，我的演讲大概从11分钟左右时开始。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;译者笔记&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;大家如果在阅读本文的过程中，有什么疑惑，建议延伸阅读以下两篇文章：&lt;br /&gt;* Richie写的《&lt;a href="http://www.cnblogs.com/RicCC/archive/2008/02/15/javascript-object-model-execution-model.html"&gt;JavaScript对象模型-执行模型&lt;/a&gt;》&lt;br /&gt;* 《&lt;a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm"&gt;ECMA-262第三版&lt;/a&gt;》，主要看看第十章，就是执行上下文（Execution Context）那张，本文提到的名词在那里都有详细的解释。&lt;br /&gt;&lt;br /&gt;在最后的时候，Nicholas提到一个Mountain View JavaScript Meetup，Meetup那个网站其实就是一个各种现实世界活动的组织网站，需要翻墙才能访问，住在California真幸福，有那么多的好活动可以参加，呵呵。&lt;br /&gt;&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-4735015162463174511?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=4735015162463174511' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4735015162463174511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4735015162463174511'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/02/javascript-variable-performance.html' title='在JavaScript中，为什么要尽可能使用局部变量？'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9Xr1fM9gUIo/SZOfPSKolkI/AAAAAAAAADM/Pauf0M9BiAk/s72-c/variable_write_performance2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-1621892875941571586</id><published>2009-02-06T17:12:00.011+08:00</published><updated>2009-02-12T16:30:38.520+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>如何判断JavaScript变量的类型</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;数&lt;/span&gt;据类型是所有开发语言的基础，JavaScript虽然是一个弱类型的脚本语言，但是在数据类型上也有很多讲究的，看了淘宝UED玉伯的一篇文章，末尾有一个判断数据类型的函数，仔细揣摩后发现有一些改进的余地，于是有了本文。目标就是一个可以提供足够类型参考信息的函数。&lt;/p&gt;&lt;div class="fullpost"&gt;【本文地址】&lt;a href="http://cuimingda.com/2009/02/how-to-detect-javascript-object-type.html"&gt;http://cuimingda.com/2009/02/how-to-detect-javascript-object-type.html&lt;/a&gt;&lt;br /&gt;【测试地址1】&lt;a href="http://lab.cuimingda.com/jquery/tof/"&gt;http://lab.cuimingda.com/jquery/tof/&lt;/a&gt;&lt;br /&gt;【测试地址2】&lt;a href="http://lab.cuimingda.com/detection/window.html"&gt;http://lab.cuimingda.com/detection/window.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;在JavaScript中，变量中可以存储的值主要有两种类型：原始值（primitive value）和引用值（reference value）。前者通常是固定而又简单的数据，存储在栈（stack）中，而后者则是比较大的对象，存储在堆（heap）中，而对于后者的调用，是通过存储在栈中的指针来完成的。原始类型有五种：Number、String、Boolean、Null和Undefined，引用类型都继承自Object。&lt;br /&gt;&lt;br /&gt;我们的最终目标就是一个叫做tof的全局函数，返回值为字符串，代表anything对应的类型，因为所有的引用类型都是object，所以这里返回的类型应该不局限于数据类型，应该尽可能的反映出anything的真实信息：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;var t = tof(anything);&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;第一个实现肯定是利用传统的typeof来实现：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;function tof(val) {&lt;br /&gt;return typeof(val);&lt;br /&gt;}&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;typeof可以得出的结论有五种：undefined、string、number、boolean和object。和原始类型比较还差个null，这个比较特殊，typeof(null)的返回值是object，这本来是JavaScript早期的bug，但后来却被写入了ECMAScript标准，可以理解为null是object的占位符。很明显，typeof无法满足我们的需求。&lt;br /&gt;&lt;br /&gt;幸好Google的Mark Miller找到另外一个非常有效的判断数据类型的方法，就是利用Object.prototype.toString.call，用这个方法对Date类型数据进行计算，得到的结果是“[object Date]”，对于其他类型，前半部分始终是object，后半部分会发生变化，这样就很方便我们判断了。jQuery从1.3开始，也采用了这种方法判断array和function。下面我们来改进一下：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;function tof(val) {&lt;br /&gt;return Object.prototype.toString.call(val).match(/object\s(\w+)/)[1];&lt;br /&gt;}&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;这个函数现在已经可以判断非常多的情况了，等等，undefined和null怎么返回的是Window（Firefox 3.0.6和Opera 9.63），在IE 7下返回Object，在Chrome返回builtins，在Safari 3.2下返回DOMWindow，明显优于这两个被定义为全局对象的属性，在不同的浏览器下挂到了不同的全局对象上。既然这么特殊，只能对他们单独有待一下了：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;function tof(val) {&lt;br /&gt;var t;&lt;br /&gt;switch(val) {&lt;br /&gt;  case null: t = "null"; break;&lt;br /&gt;  case undefined: t = "undefined"; break;&lt;br /&gt;  default:&lt;br /&gt;      t = Object.prototype.toString.call(val).match(/object\s(\w+)/)[1];&lt;br /&gt;      break;&lt;br /&gt;}&lt;br /&gt;return  t.toLowerCase();&lt;br /&gt;}&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;到这里，我们已经可以判断很多object了，包括array、regexp、date等。让我们再多想一些，比如你碰到过需要判断DOM元素类型的情况么？这个首先要说明个问题，我们访问DOM，其实有两种方式，一种是通过树型的继承方式，就是Element为基础的，另外一种是构建在xml基础上的node模式，而对应每个节点都有tagName和nodeName两个属性，大部分时候要求是必须一样的，一些特殊节点只有nodeName，没有tagName，比如document的nodeName为“#document”，tagName为空值。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;function tof(val) {&lt;br /&gt;var t;&lt;br /&gt;switch(val) {&lt;br /&gt;  case null: t = "null"; break;&lt;br /&gt;  case undefined: t = "undefined"; break;&lt;br /&gt;  default:&lt;br /&gt;      t = val.nodeName || Object.prototype.toString.call(val).match(/object\s(\w+)/)[1];&lt;br /&gt;      break;&lt;br /&gt;}&lt;br /&gt;return  t.toLowerCase();&lt;br /&gt;}&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;如果是DOM元素，首先取节点名称，取不到再用老办法判断对象类型。这样，不管是通过document.createElement构建的元素，还是通过document.getElementById获取的元素，都可以得到一个可以参考的类型了，注意此类型非彼类型，只是元素名称而已。经过了以上几个步骤，还有什么情况会出现object呢，其中一个就是我们自己定义的对象，或者称为类？这里我们采用构造函数来搞定。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;function tof(val) {&lt;br /&gt;var t;&lt;br /&gt;switch(val) {&lt;br /&gt;  case null: t = "null"; break;&lt;br /&gt;  case undefined: t = "undefined"; break;&lt;br /&gt;  default:&lt;br /&gt;      t = val.nodeName || Object.prototype.toString.call(val).match(/object\s(\w+)/)[1];&lt;br /&gt;      if(!!val.constructor &amp;amp;&amp;amp; t.toLowerCase() === "object") {&lt;br /&gt;          t = val.constructor.toString().match(/^\s*function\s(\w+)/)[1];&lt;br /&gt;      }&lt;br /&gt;      break;&lt;br /&gt;}&lt;br /&gt;return  t.toLowerCase();&lt;br /&gt;}&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;构造函数的判断放到最后，不得已而为之的情况。一是要处理那些还处于object状态的，二是要确保人家要有构造函数，可不是每个对象都有构造函数的。构造函数的类型是function，如果直接拿来比较在有些时候会有问题，比如不同框架的时候。所以我们将function的内容转换为字符串，通过正则表达式来取函数名。这里有个插曲就是，IE很缺德，在function前面加了一个空格，害我多调了好半天正则表达式。&lt;br /&gt;&lt;br /&gt;基本上完结了，我们还是没有彻底的消除object，一个典型的情况就是通过{}直接定义对象，那个名字我是不会获取了，谁要是知道一定要告诉我。再比较特殊的就是IE了，有N多对象无法判断实际类型，只能给出object，暂时没有头绪。&lt;br /&gt;&lt;br /&gt;2月7日更新，发现原来的代码还是存在很多漏洞的，更新了一下，并转换为jQuery插件：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;(function($){&lt;br /&gt;$.extend({&lt;br /&gt;tof: function(val, description) {&lt;br /&gt;        var result, constructorName;&lt;br /&gt;        switch(val) {&lt;br /&gt;            case null: result = "Null"; break;&lt;br /&gt;            case undefined: result = "Undefined"; break;&lt;br /&gt;            default:&lt;br /&gt;                result = Object.prototype.toString.call(val).match(/^\[object\s(\w+)\]$/)[1];&lt;br /&gt;            &lt;br /&gt;                if(typeof(Node) !== "undefined") {&lt;br /&gt;                    if(val instanceof Node) {&lt;br /&gt;                        if(typeof(val.nodeName) === "string") {&lt;br /&gt;                            result = val.nodeName;&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                else {&lt;br /&gt;                    if(typeof(val.nodeName) === "string") {&lt;br /&gt;                        result = val.nodeName;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                if(result === "Object") {&lt;br /&gt;                    // can not access fireunit's constructor&lt;br /&gt;                    try {&lt;br /&gt;                        if(typeof(val.constructor) !== "undefined") {&lt;br /&gt;                            constructorName = val.constructor.toString().match(/^\s*function\s(\w+)/);&lt;br /&gt;                            if(constructorName !== null) {&lt;br /&gt;                                result = constructorName[1];&lt;br /&gt;                            }&lt;br /&gt;                        }&lt;br /&gt;                    } catch(err) {}&lt;br /&gt;                }&lt;br /&gt;                break;&lt;br /&gt;        }&lt;br /&gt;        return  result.toLowerCase();&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;})(jQuery);&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;这里需要提一下的是，在IE中，无论怎么判断，alert、confirm和prompt三个函数的类型都是object，而在其他所有浏览器中都是function。&lt;br /&gt;&lt;br /&gt;在玉伯那里，有一个这样的例子，经过测试是可以判断出数组的：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;function SubArray() {}&lt;br /&gt;SubArray.prototype = [];&lt;br /&gt;jstest.add(new SubArray(), "array", "prototype is array");&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;对于数值来说，通过字面量定义的肯定返回number，而对于用new Number来定义的，虽然typeof的值是object，其实使用的过程中都会自动调用valueOf，所以在这里也会返回number的。而对于那些定义在全局变量上，和数值相关的特殊属性，获取类型也是number：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;jstest.add(0, "number", "literal number 0");&lt;br /&gt;jstest.add(1, "number", "literal number 1");&lt;br /&gt;jstest.add("1", "string", "string \"1\"");&lt;br /&gt;jstest.add(new Number(1.5), "number", "new Number(1.5)");&lt;br /&gt;jstest.add((new Number(1.5)).valueOf(), "number", "(new Number(1.5)).valueOf()");&lt;br /&gt;jstest.add((new Number(1.5)).toString(), "string", "(new Number(1.5)).toString()");&lt;br /&gt;jstest.add(NaN, "number", "NaN - not a number");&lt;br /&gt;jstest.add(Infinity, "number", "Infinity");&lt;br /&gt;jstest.add(-Infinity, "number", "-Infinity");&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;和布尔值相关的测试用例：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;jstest.add(true, "boolean", "literal boolean true");&lt;br /&gt;jstest.add(false, "boolean", "literal boolean false");&lt;br /&gt;jstest.add(new Boolean(true), "boolean", "new Boolean(true)");&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;和浏览器的内置对象相关的测试用例：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;jstest.add(new Error(), "error", "new Error()");&lt;br /&gt;jstest.add(new EvalError(), "error", "new EvalError()");&lt;br /&gt;jstest.add(new Date(), "date", "new Date()");&lt;br /&gt;jstest.add(/abc/, "regexp", "literal regular expression");&lt;br /&gt;jstest.add(new RegExp("a?"), "regexp", "new RegExp()");&lt;br /&gt;jstest.add([], "array", "array by []");&lt;br /&gt;jstest.add(new Array(), "array", "array by new Array()");&lt;br /&gt;jstest.add(Math, "math", "Math");&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;DOM对象的测试用例：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;jstest.add(document.createElement("div"), "div", "HTML Element");&lt;br /&gt;jstest.add(document, "#document", "document");&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;自定义对象的测试用例：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;function TestClass(){};&lt;br /&gt;jstest.add(new TestClass(), "testclass", "custom object, new TestClass()");&lt;br /&gt;*/&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;2009年2月10日更新，上面的测试用例，测试的内容没有变，但已经单独提出来了，这两天整理出一篇来。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;测试环境：&lt;/strong&gt;&lt;br /&gt;* Firefox 3.0.6&lt;br /&gt;* Internet Explorer 7.0&lt;br /&gt;* Safari 3.2&lt;br /&gt;* Opera 9.63&lt;br /&gt;* Chrome 1.0.154.48&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;参考资料：&lt;/strong&gt;&lt;br /&gt;* &lt;a href="http://lucassmith.name/pub/typeof.html"&gt;http://lucassmith.name/pub/typeof.html&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://blog.360.yahoo.com/blog-TBPekxc1dLNy5DOloPfzVvFIVOWMB0li?p=916"&gt;http://blog.360.yahoo.com/blog-TBPekxc1dLNy5DOloPfzVvFIVOWMB0li?p=916&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://lifesinger.org/blog/?p=1109"&gt;http://lifesinger.org/blog/?p=1109&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://lifesinger.org/blog/?p=1130"&gt;http://lifesinger.org/blog/?p=1130&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html"&gt;http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;写在最最后面的&lt;/strong&gt;&lt;br /&gt;现在的状态应该说只能算是第一个版本吧，应该还有很大的优化余地，最终的目标应该是一个非常增强的typeof，不止要能适应各个浏览器的各个版本，还要尽可能多的判断出各种对象。大家要有好的改进想法，记得告诉我哟。&lt;br /&gt;&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-1621892875941571586?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=1621892875941571586' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/1621892875941571586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/1621892875941571586'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/02/how-to-detect-javascript-object-type.html' title='如何判断JavaScript变量的类型'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-2476468923670109201</id><published>2009-02-04T05:34:00.005+08:00</published><updated>2009-02-04T07:45:20.859+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>如何提升JavaScript的运行速度（DOM篇）</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;在&lt;/span&gt;Web开发中，JavaScript的一个很重要的作用就是对DOM进行操作，可你知道么？对DOM的操作是非常昂贵的，因为这会导致浏览器执行回流操作，而执行了过多的回流操作，你就会发现自己的网站变得越来越慢了，我们应该尽可能的减少DOM操作。本文是这个系列的最后一篇，给出了一些指导性原则，比如在什么时候应该对DOM可以进行什么样的操作等。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文】&lt;a href="http://www.nczonline.net/about/"&gt;Nicholas C. Zakas&lt;/a&gt; - &lt;a href="http://www.nczonline.net/blog/2009/02/03/speed-up-your-javascript-part-4/"&gt;Speed up your JavaScript, Part 4&lt;/a&gt;&lt;br /&gt;【译文】&lt;a href="http://cuimingda.com/"&gt;明达&lt;/a&gt; - &lt;a href="http://cuimingda.com/2009/02/speed-up-your-javascript-part-4.html"&gt;如何提升JavaScript的运行速度（DOM篇）&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;在过去的几周中，我为大家介绍了几种可以加快JavaScript脚本运行速度的技术。&lt;a href="http://www.nczonline.net/blog/2009/01/13/speed-up-your-javascript-part-1/"&gt;第一节&lt;/a&gt;介绍了如何优化循环。&lt;a href="http://www.nczonline.net/blog/2009/01/20/speed-up-your-javascript-part-2/"&gt;第二节&lt;/a&gt;的重点放在优化函数内部代码上，还介绍了队列（queuing）和记忆化（memoization）两种技术，来减轻函数的工作负担。&lt;a href="http://www.nczonline.net/blog/2009/01/27/speed-up-your-javascript-part-3/"&gt;第三节&lt;/a&gt;就如何将递归转换为迭代循环或者记忆化方式的话题，展开了讨论。第四节是这个系列的最后一篇，也就是本文，将重点阐述过多的DOM操作所带来的影响。&lt;br /&gt;&lt;br /&gt;我们都知道，DOM操作的效率是很低的，而且不是一般的慢，而且这也是引发性能问题的常见问题之一。为什么会慢呢？因为对DOM的修改为影响网页的用户界面，重绘页面是一项昂贵的操作。太多的DOM操作会导致一系列的重绘操作，为了确保执行结果的准确性，所有的修改操作是按顺序同步执行的。我们称这个过程叫做&lt;a href="http://dev.opera.com/articles/view/efficient-javascript/?page=3#reflow"&gt;回流（reflow）&lt;/a&gt;，同时这也是最昂贵的浏览器操作之一。回流操作主要会发生在几种情况下：&lt;br /&gt;&lt;br /&gt;* 当对DOM节点执行新增或者删除操作时。&lt;br /&gt;* 动态设置一个样式时（比如element.style.width="10px"）。&lt;br /&gt;* 当获取一个必须经过计算的尺寸值时，比如访问offsetWidth、clientHeight或者其他需要经过计算的CSS值（在兼容DOM的浏览器中，可以通过getComputedStyle函数获取；在IE中，可以通过currentStyle属性获取）。&lt;br /&gt;&lt;br /&gt;解决问题的关键，就是限制通过DOM操作所引发回流的次数。大部分浏览器都不会在JavaScript的执行过程中更新DOM。相应的，这些浏览器将对对DOM的操作放进一个队列，并在JavaScript脚本执行完毕以后按顺序一次执行完毕。也就是说，在JavaScript执行的过程中，用户不能和浏览器进行互动，直到一个回流操作被执行。（&lt;a href="http://www.nczonline.net/blog/2009/01/05/what-determines-that-a-script-is-long-running/"&gt;失控脚本对话框&lt;/a&gt;会触发回流操作，因为他执行了一个中止JavaScript执行的操作，此时会对用户界面进行更新）&lt;br /&gt;&lt;br /&gt;如果要减少由于DOM修改带来的回流操作，有两个基本的方法。第一个就是在对当前DOM进行操作之前，尽可能多的做一些准备工作。一个经典的例子就是向document对象中添加很多DOM节点：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;for (var i=0; i &amp;lt; items.length; i++){&lt;br /&gt;   var item = document.createElement("li");&lt;br /&gt;   item.appendChild(document.createTextNode("Option " + i);&lt;br /&gt;   list.appendChild(item);&lt;br /&gt;}&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;这段代码的效率是很低的，因为他在每次循环中都会修改当前DOM结构。为了提高性能，我们需要将这个次数降到最低，对于这个案例来说，最好的办法是建立一个文档碎片（document fragment），作为那些已创建元素元素的临时容器，最后一次将容器的内容直接添加到父节点中：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;var fragment = document.createDocumentFragment();&lt;br /&gt;for (var i=0; i &amp;lt; items.length; i++){&lt;br /&gt;   var item = document.createElement("li");&lt;br /&gt;   item.appendChild(document.createTextNode("Option " + i);&lt;br /&gt;   fragment.appendChild(item);&lt;br /&gt;}&lt;br /&gt;list.appendChild(fragment);&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;经过调整的代码，只会修改一次当前DOM的结构，就在最后一行，而在这之前，我们用文档碎片来保存那些中间结果。因为文档碎片没有任何可见内容，所以这类修改不会触发回流操作。实际上，文档碎片也不能被添加到DOM中，我们需要将它作为参数传给appendChild函数，而实际上添加的不是文档碎片本身，而是它下面的所有子元素。&lt;br /&gt;&lt;br /&gt;避免不必要回流操作的另外一种方法，就是在对DOM操作之前，把要操作的元素，先从当前DOM结构中删除。对于删除一个元素，基本有两种方法：&lt;br /&gt;1. 通过removeChild()或者replaceChild()实现真正意义上的删除。&lt;br /&gt;2. 设置该元素的display样式为“none”。&lt;br /&gt;&lt;br /&gt;而一旦修改操作完成，上面这个过程就需要反转过来，将删除的元素重新添加到当前的DOM结构中，我们还是拿上面的例子来做说明：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;list.style.display = "none";&lt;br /&gt;for (var i=0; i &amp;lt; items.length; i++){&lt;br /&gt;   var item = document.createElement("li");&lt;br /&gt;   item.appendChild(document.createTextNode("Option " + i);&lt;br /&gt;   list.appendChild(item);&lt;br /&gt;}&lt;br /&gt;list.style.display = "";&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;将list的display样式设置为“none”后，就将这个元素从当前的DOM结构中删除了，因为这个节点不再可视。在将display属性设置回之前的默认值之前，向其下添加子元素是不会触发回流操作的。&lt;br /&gt;&lt;br /&gt;另外一个经常引起回流操作的情况是通过style属性对元素的外观进行修改。比如下面这个例子：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;element.style.backgroundColor = "blue";&lt;br /&gt;element.style.color = "red";&lt;br /&gt;element.style.fontSize = "12em";&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;这段代码修改了三个样式，同时也就触发了三次回流操作。每次修改元素的style属性，都肯定会触发回流操作。如果你要同时修改一个元素的很多样式，最好的办法是将这些样式放到一个class下，然后直接修改元素的class，这可比单独修改元素的样式要强得多。比如下面这个例子：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;.newStyle {&lt;br /&gt;   background-color: blue;&lt;br /&gt;   color: red;&lt;br /&gt;   font-size: 12em;&lt;br /&gt;}&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;这样我们在JavaScript代码中，只需下面这行代码就可以修改样式：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;element.className = "newStyle";&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;修改元素的class属性，会一次将所有的样式应用在目标元素上，而且只会触发一次回流操作。这样做不止更加有效，而且还更&lt;a href="http://video.yahoo.com/watch/568351/2820297"&gt;容易维护&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;既然DOM几乎在所有情况下都很慢，就很有必要将获取的DOM数据缓存起来。这种方法，不仅对获取那些会触发回流操作的属性（比如offsetWidth等）尤为重要，就算对于一般情况，也同样适用。下面介绍一个效率低的夸张的例子：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;document.getElementById("myDiv").style.left = document.getElementById("myDiv").offsetLeft +&lt;br /&gt;   document.getElementById("myDiv").offsetWidth + "px";&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;这里对getElementById()调用了三次，是一个很大的问题，访问DOM是很昂贵的，而这三个调用恰恰访问的是同一个元素，也许我们像下面这样写，会更好一些：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;var myDiv = document.getElementById("myDiv");&lt;br /&gt;myDiv.style.left = myDiv.offsetLeft + myDiv.offsetWidth + "px";&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;我们去掉了一些冗余操作，现在对DOM操作的次数已经被减小了。对于那些使用次数超过一次的DOM值，我们都应该缓冲起来，这样可以避免无谓的性能消耗。&lt;br /&gt;&lt;br /&gt;也许，拖慢属性访问速度的罪魁祸首就是HTMLCollection对象。这些对象是object类型的，只要DOM需要返回一组节点时就会使用这个对象，也就是说childNodes属性和getElementsByTagName()的返回值都属于这种情况。我们可能经常会将HTMLCollection当作数组来使用，但实际上他是一个根据DOM结构自动变化的实体对象。每次你访问一个HTMLCollection对象的属性，他都会对DOM内所有的节点进行一次完整匹配，这意味着下面的代码将导致一个死循环：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;var divs = document.getElementsByTagName("div");&lt;br /&gt;for (var i=0; i &amp;lt; divs.length; i++){  //infinite loop&lt;br /&gt;   document.body.appendChild(document.createElement("div"));&lt;br /&gt;}&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;这段代码为什么会变成死循环呢？因为在每次循环中，将会向document中新增一个div元素，同时也会更新divs这个集合，也就是说循环的索引永远都不会超过divs.length的值，因为divs.length的值是伴随着循环而递增的。每次访问divs.length，就会更新一次集合对象，这可比访问一个普通数组的length属性要付出更大的代价。当对HTMLCollection对象进行操作时，应该将访问的次数尽可能的降至最低，最简单的，你可以将length属性缓存在一个本地变量中，这样就能大幅度的提高循环的效率。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;var divs = document.getElementsByTagName("div");&lt;br /&gt;for (var i=0, len=divs.length; i &amp;lt; len; i++){  //not an infinite loop&lt;br /&gt;   document.body.appendChild(document.createElement("div"));&lt;br /&gt;}&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;修改后的代码已经不是死循环了，因为在每次循环时，len的值都是保持固定不变的。将属性值缓存起来除了更加有效率，还可以保证document不会执行多于一次的查询。&lt;br /&gt;&lt;br /&gt;本文是“Speed up your JavaScript”这个系列的最后一篇文章，我希望你现在已经知道如何避免那个脚本失控的对话框，以及如何让你的脚本运行的更快。我所提到的技巧很多别人已经提过了，我只是将它们组织到一起，这样大家可以更容易的找到这些信息。如果你有什么更好的话题需要来我整理，在评论中直接告诉我，或者直接&lt;a href="http://www.nczonline.net/contact/"&gt;联系我&lt;/a&gt;吧。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-2476468923670109201?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=2476468923670109201' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/2476468923670109201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/2476468923670109201'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/02/speed-up-your-javascript-part-4.html' title='如何提升JavaScript的运行速度（DOM篇）'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-5828984252526478087</id><published>2009-02-04T02:40:00.006+08:00</published><updated>2009-02-04T03:01:53.629+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>猜猜看，大家是不是喜欢jQuery 1.3这个版本？</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;j&lt;/span&gt;Query 1.3在2009年1月14日发布，这个版本大家满意么？大家很关心这个问题，其实这也是整个jQuery团队非常关心的问题之一。John Resig通过两个在线工具Google Analytics和Google Trends的数据来做分析，从一个侧面反映了jQuery 1.3这个版本的状况，同时也对jQuery的历史发展做了相关的说明。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文】&lt;a href="http://ejohn.org/about/"&gt;John Resig&lt;/a&gt; - &lt;a href="http://ejohn.org/blog/jquery-13-aftermath/"&gt;jQuery 1.3 Aftermath&lt;/a&gt;&lt;br /&gt;【译文】&lt;a href="http://cuimingda.com/"&gt;明达&lt;/a&gt; - &lt;a href="http://cuimingda.com/2009/02/jquery-13-aftermath.html"&gt;猜猜看，大家是不是喜欢jQuery 1.3这个版本？&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;有一个问题其实很难回答：如何判断一个版本是否取得了成功？在jQuery这个项目中，我们试图寻找一系列可以作为依据的准则。&lt;br /&gt;&lt;br /&gt;* 用户对这个版本是否满意？&lt;br /&gt;* 用户是否接受这个版本？&lt;br /&gt;* 我们是否满足了那些以前不使用jQuery的用户的需要？&lt;br /&gt;&lt;br /&gt;这几个问题都没有足够精确的数字来支撑（但我们确实仔细的倾听了用户反馈，无论是在博客上、Twitter上、邮件列表上、或是其他的任何地方，但截止到目前，我们得到的大部分是积极的肯定），但我们确实有几个可以用来利用的工具，让这个问题变得更加简单一些，这些工具就是&lt;a href="http://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt;和&lt;a href="http://www.google.com/trends"&gt;Google Trends&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3449/3245411220_37982113d1_o.png"&gt;&lt;img style="cursor: pointer; width: 833px; height: 426px;" src="http://farm4.static.flickr.com/3449/3245411220_37982113d1_o.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;上面这个趋势图，是通过Google Analytics对jquery.com在2008年12月和2009年1月的访问记录进行比对的结果。&lt;br /&gt;&lt;br /&gt;我们可以很容易发现，相比于12月份，每天都有30%左右的增长。这是我非常愿意看到的，1.3这个版本非常具有“粘性”（用户会经常回来看看，每日访问人数不会低于预发布阶段时的程度）。&lt;br /&gt;&lt;br /&gt;注意比对两个时间段的结果，跳出率（bounce rate）出现增长，而平均每次访问页数（pages/visit）和平均停留时间（avg. time on site）出现降低，而导致出现这个变化的页面都集中在1.3和1.3.1的发布页面，大家都是过来检查最新的发布版本，然后直接离开的。&lt;br /&gt;&lt;br /&gt;2009年1月14日是jQuery 1.3发布的日子（那一周的流量特别大，Ajaxian、Reddit、Hacker News以及很多博客都介绍了这个新版本的发布），在26号所在的那周我们上了Digg的首页，但是在流量方面没有看到明显的变化。&lt;br /&gt;&lt;br /&gt;我将圣诞假期这个时间段的数据去掉了，因为那时候的流量非常低，不利于比较。&lt;br /&gt;&lt;br /&gt;以上数据都只是专门针对jQuery的，jQuery UI和静态文件都采用单独的配置文件进行统计。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3469/3244617327_14f6a590d5_o.png"&gt;&lt;img style="cursor: pointer; width: 580px; height: 260px;" src="http://farm4.static.flickr.com/3469/3244617327_14f6a590d5_o.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Google Trends可以帮助我们了解jQuery的使用情况，最典型的应用就是“圣诞节大衰退”。&lt;br /&gt;&lt;br /&gt;关注jQuery的用户主要出现在工作日（注意前面的分析日志，周末会出现衰退）。每年的圣诞节假期左右（12月23日 - 次年1月3日），访问人数都会有很大幅度的下降，我们也可以在Google Trends的统计中看出这种关联性。&lt;br /&gt;&lt;br /&gt;在维护jQuery的过程中，我们学习到了一件事情，就是在两个项目的交替时会流失用户。一个开发者在结束了一个项目后，会重新评估他的开发工具链，寻找可以改进的地方，这个时候，用户可能会更换所使用的工具，我们的使命就是确保始终提供最棒的工具和经验，这样大家就没有更换工具的必要了（比如提供更清晰的文档、更有效率的代码以及频繁的更新等）。&lt;br /&gt;&lt;br /&gt;还有一个类似的情况发生在休假之后。当用户休息了一到两周，没有碰工作时的代码，在回到工作岗位后就存在更换工具的可能性，要么被这些用户放下，要么就做到足够强劲，吸引用户继续使用。&lt;br /&gt;&lt;br /&gt;现在的问题已经演变为：我们如何在低迷的时候挽留住用户（最好是发现新的用户）？&lt;br /&gt;&lt;br /&gt;当我们仔细研究2006-2007时的低迷期数据，我们会发现在用户休假归来的时候有一个快速的反弹。为什么？因为&lt;a href="http://blog.jquery.com/2007/01/14/jquery-birthday-11-new-site-new-docs/"&gt;jQuery 1.1在那个时候发布&lt;/a&gt;了。&lt;br /&gt;&lt;br /&gt;但是回顾2007-2008的数据，休假以后基本上没有反弹，而且花了将近半年的时间才恢复到之前的水平，顺便说一下，在一月份没有发布任何重大版本。&lt;br /&gt;&lt;br /&gt;于是我们修正了这个时间周期，我们发布了jQuery 1.3，你可以注意到我们是如何赢回用户，甚至在一段时间内提高了市场占用率的。&lt;br /&gt;&lt;br /&gt;从长远的角度看，我对jQuery 1.3的发布非常有信心，我认为我们将有一个非常辉煌的2009年。很可能这周我们就发布另外一个后续版本（1.3.2），除这以外还有一点很明确，我们将在1.3.3以及后续的版本中增加更多全新的功能。&lt;br /&gt;&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-5828984252526478087?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=5828984252526478087' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/5828984252526478087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/5828984252526478087'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/02/jquery-13-aftermath.html' title='猜猜看，大家是不是喜欢jQuery 1.3这个版本？'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-1554795237357980085</id><published>2009-02-02T11:35:00.005+08:00</published><updated>2009-02-02T12:04:37.272+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adblock Plus'/><title type='text'>屏蔽Ad blockers，可行么？</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;F&lt;/span&gt;irefox中最著名的扩展之一要属Adblock Plus了，有了这个扩展我们就可以清清静静的看网站，但是这对于网站的开发者来说可不是什么好消息，都把广告屏蔽了拿什么养家糊口啊。刚就在twitter中看到一个，只找到脚本的片段，但是其中的思想大家一看就可以理解了。但其实个人不是很推荐，如果网站的广告有针对性，大家不就没有理由屏蔽了，不是么？&lt;/p&gt;&lt;div class="fullpost"&gt;【消息来源】&lt;a href="http://twitter.com/schill/status/1167839656"&gt;http://twitter.com/schill/status/1167839656&lt;/a&gt;&lt;br /&gt;【本文地址】&lt;a href="http://cuimingda.com/2009/02/block-ad-blockers.html"&gt;http://cuimingda.com/2009/02/block-ad-blockers.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;先看截图，当用户使用广告屏蔽手段，而又没将这个网站加入白名单时，网站的所有内容就会被替换成下面的图片提示：&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.publicradio.org/config/cobrand/standard/images/apm001/blockimg.gif"&gt;&lt;img style="cursor: pointer; width: 313px; height: 63px;" src="http://www.publicradio.org/config/cobrand/standard/images/apm001/blockimg.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;实现这个功能其实很简单，就是下面这一小段代码，我把完整的内容都粘贴过来了：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/* http://www.publicradio.org/config/cobrand/standard/js/apm001/national_fix.js&lt;br /&gt;$(window).load(function() {&lt;br /&gt;var $mainDiv = $('#apmAdsContainer');&lt;br /&gt;var myHeight = $mainDiv.height();&lt;br /&gt;if (myHeight == 0) {&lt;br /&gt;   $('body').css({&lt;br /&gt;       'background-image': 'url(http://www.publicradio.org/config/cobrand/standard/images/apm001/blockimg.gif)',&lt;br /&gt;       'background-position': 'center 5px',&lt;br /&gt;       'background-repeat': 'no-repeat'&lt;br /&gt;   });&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;脚本的基本思路就是判断广告图层的高度，如果为0，表明被屏蔽了，就拒绝显示内容。这段代码依赖于jQuery，虽然作者加载的部分写的不是很好，但为了完整，也一起贴过来吧，唉，为什么要用document.write呢？&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/* http://www.publicradio.org/config/cobrand/standard/js/apm001/jQ_detect.js&lt;br /&gt;function include_js(js_url) {&lt;br /&gt;document.write("\&amp;lt;script type=\"text/javascript\" ");&lt;br /&gt;document.write("src='" + js_url + "'");&lt;br /&gt;document.write("\&amp;gt;");&lt;br /&gt;document.write("\&amp;lt;/script\&amp;gt;");&lt;br /&gt;}&lt;br /&gt;if (typeof(window["jQuery"]) == "undefined") {&lt;br /&gt;include_js("http://americanpublicmedia.publicradio.org/standard/js/all_domains/jquery/jquery_1.2.6.pack.js");&lt;br /&gt;}&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;对于Adblock Plus来说，除了可以隐藏元素以外，还可以组织脚本加载，这时候这段脚本可能就无效了，也许需要判断广告对象是否存在？而且让元素消失的方法也不是只有一种，应该多判断几种才能兼容各种情况。但其实最主要的，也许这样做会吓跑部分用户吧，呵呵，通过其他方式积极的引导用户将自己的网站加到Adblock Plus的白名单中，也许是个更好的主意。&lt;br /&gt;&lt;br /&gt;历史上，加密和解密作为两大技术阵营，此消彼长，客观上促进了安全技术的发展。Ad和Ad blocker会不会也这样呢？&lt;br /&gt;&lt;br /&gt;咳咳～～大家如果真的看到这里，感觉这个博客还不错，记得把他放进Adblock Plus的白名单啊，我这里可没有广告，连Adsense都没有，主要我得知道你什么时候来过哟（Adblock Plus China-list会屏蔽各种网站统计工具，比如我用的Google Analytics，^_^），呵呵，这样我才能更有动力嘛。&lt;br /&gt;&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-1554795237357980085?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=1554795237357980085' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/1554795237357980085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/1554795237357980085'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/02/block-ad-blockers.html' title='屏蔽Ad blockers，可行么？'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-2797491898229201736</id><published>2009-02-01T22:01:00.005+08:00</published><updated>2009-02-01T22:58:42.037+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Add-ons'/><category scheme='http://www.blogger.com/atom/ns#' term='Firebug'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>FireScope - 面向Web开发者和设计者的参考手册</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;S&lt;/span&gt;itepoint有一个不错的针对Web开发者和设计者的参考手册网站，可以查询HTML、CSS和JavaScript的基本信息、兼容性和示例代码等，同时这个网站也包含了一个Firefox扩展，可以集成在Firebug中，可以显示所有你看到的HTML元素、HTML属性和CSS属性的参考信息，目前还不支持JavaScript部分。&lt;/p&gt;&lt;div class="fullpost"&gt;【扩展名称】&lt;a href="http://tools.sitepoint.com/firescope/"&gt;FireScope&lt;/a&gt;&lt;br /&gt;【扩展作者】Sitepoint - James Edwards&lt;br /&gt;【下载地址】&lt;a href="http://tools.sitepoint.com/firescope/firescope-1.0.1-en-us.xpi"&gt;http://tools.sitepoint.com/firescope/firescope-1.0.1-en-us.xpi&lt;/a&gt;&lt;br /&gt;【AMO地址】&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/10273"&gt;https://addons.mozilla.org/en-US/firefox/addon/10273&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;FireScope是一个Firefox扩展，同时也是一个Firebug扩展，可以帮助用户快速的搜索HTML元素、属性以及CSS属性的参考信息，具体的功能大家从下面的一系列截图上就能体会了。目前版本为1.0.1，最低要求为Firefox 2和Firebug 1.2。大家可以直接点击上面的链接下载，或者到AMO网站上下载。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下部分内容翻译自&lt;a href="http://tools.sitepoint.com/firescope/"&gt;该扩展网站&lt;/a&gt;：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;功能列表：&lt;br /&gt;&lt;br /&gt;你可以查找HTML元素和属性，以及CSS属性（或者进行组合查询）。搜索结果是根据输入实时刷新的，通常你可能只需要书要查找内容的第一个到第二个字母就可以，这样可以帮助你更快的找到结果，&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tools.sitepoint.com/firescope/images/screenshot-searchbox.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 863px; height: 343px;" src="http://tools.sitepoint.com/firescope/images/screenshot-searchbox.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;查找结果中会显示和浏览器兼容性相关的信息，以及一个简要的用法说明。当然还提供了一个指向&lt;a href="http://reference.sitepoint.com/"&gt;SitePoint Reference&lt;/a&gt;网站的链接，在那里会有更相信的参考信息。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tools.sitepoint.com/firescope/images/screenshot-information.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 645px; height: 426px;" src="http://tools.sitepoint.com/firescope/images/screenshot-information.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;鼠标右键点击搜索结果，在菜单中有两个选项：一个是在线查询详细信息，另外一个是显示选择项的示例代码。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tools.sitepoint.com/firescope/images/screenshot-results-context.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 371px; height: 383px;" src="http://tools.sitepoint.com/firescope/images/screenshot-results-context.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;示例代码会在侧栏打开，里面会包含有实用价值的例子，你可以根据例子很快掌握用法。同时这些示例代码是可以编辑的，而且也很容易复制，在Firefox 3中直接双击就是全部选择。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tools.sitepoint.com/firescope/images/screengrab-results-codeexample.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 925px; height: 383px;" src="http://tools.sitepoint.com/firescope/images/screengrab-results-codeexample.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;在HTML面板中，你可以在任意元素、属性名称或者属性值上点击鼠标右键（编辑状态也可以点），这时在快捷菜单中你可以进行两项选择，查找你选择的项目，或者显示这个项目对应的示例代码。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tools.sitepoint.com/firescope/images/screenshot-html-context.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 683px; height: 350px;" src="http://tools.sitepoint.com/firescope/images/screenshot-html-context.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;类似的，在CSS面板中你也可以右键单击任意属性名称或者属性值，可以进行的操作与HTML面板中的相同。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tools.sitepoint.com/firescope/images/screenshot-css-context.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 432px; height: 350px;" src="http://tools.sitepoint.com/firescope/images/screenshot-css-context.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;在HTML面板中，如果你右键点击的标记名称是选择状态（就是通常深蓝色背景高亮那种），在菜单中选择“Look up selection”会执行一个特殊搜索，所有选中的元素、属性已经应用的CSS样式都将被搜索。有时候这个特殊搜索是自动进行的，比如在你选择元素后点击“Reference”面板时，就会自动搜索当前选中元素相关的所有内容。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tools.sitepoint.com/firescope/images/screenshot-selection.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 902px; height: 422px;" src="http://tools.sitepoint.com/firescope/images/screenshot-selection.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;当使用Inspector更能探索不同元素的时候，如果示例代码的侧栏处于打开状态，就将会实时显示当前选中元素的示例代码。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tools.sitepoint.com/firescope/images/screenshot-inspector.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 726px; height: 367px;" src="http://tools.sitepoint.com/firescope/images/screenshot-inspector.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;类似的，只要示例代码侧栏处于打开状态，在DOM列表中的选择也会触发显示相应示例代码的操作。当然和HTML面板一样，也包含一个快捷菜单，可以执行查找和显示示例代码的操作。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tools.sitepoint.com/firescope/images/screenshot-crumbtrail.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 737px; height: 311px;" src="http://tools.sitepoint.com/firescope/images/screenshot-crumbtrail.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;写在后面&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;其实个人认为Sitepoint的参考手册要比w3schools.com的实用一些。而且和Firebug集成这个思路很好。但是现在明显还是不够完善，不止是扩展，还有参考手册上资料，尤其是JavaScript部分现在还在测试中，还没有包含进来。但对于Web开发者和设计者，这应该是一个必备的工具，推荐使用。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-2797491898229201736?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=2797491898229201736' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/2797491898229201736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/2797491898229201736'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/02/firescope-dictionary-for-web-developer.html' title='FireScope - 面向Web开发者和设计者的参考手册'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-3951521030477033548</id><published>2009-02-01T04:06:00.003+08:00</published><updated>2009-02-01T04:19:54.802+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>如何提升JavaScript的运行速度（递归篇）</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;影&lt;/span&gt;响JavaScript性能的另外一个杀手就是递归，在上一节中提到采用memoization技术可以优化计算数值的递归函数，但memoization不是万能的，不是所有的递归函数都可以用memoization技术优化，本文介绍了这些情况，并介绍了解决办法，就是将递归转换为迭代，同时需要注意，本文末尾介绍的方案不是最终的方案，还需要和上一节优化循环的方案综合起来才能达到最佳效果。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文】&lt;a href="http://www.nczonline.net/blog/2009/01/27/speed-up-your-javascript-part-3/"&gt;Speed up your JavaScript, Part 3&lt;/a&gt;&lt;br /&gt;【作者】Nicholas C. Zakas&lt;br /&gt;【译文】&lt;a href="http://cuimingda.com/2009/02/speed-up-your-javascript-part-3.html"&gt;http://cuimingda.com/2009/02/speed-up-your-javascript-part-3.html&lt;/a&gt;&lt;br /&gt;【译者】&lt;a href="http://cuimingda.com/"&gt;明达&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;递归是拖慢脚本运行速度的大敌之一。太多的递归会让浏览器变得越来越慢直到死掉或者莫名其妙的突然自动退出，所以我们一定要解决在JavaScript中出现的这一系列性能问题。在&lt;a href="http://cuimingda.com/2009/01/speed-up-your-javascript-part-2.html"&gt;这个系列文章的第二篇&lt;/a&gt;中，我曾经简短的介绍了如何通过memoization技术来替代函数中太多的递归调用。memoization是一种可以缓存之前运算结果的技术，这样我们就不需要重新计算那些已经计算过的结果。对于通过递归来进行计算的函数，memoization简直是太有用了。我现在使用的memoizer是由 Crockford写的，主要应用在那些返回整数的递归运算中。当然并不是所有的递归函数都返回整数，所以我们需要一个更加通用的memoizer()函数来处理更多类型的递归函数。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;function memoizer(fundamental, cache) {&lt;br /&gt;  cache = cache || {};&lt;br /&gt;  var shell = function(arg) {&lt;br /&gt;      if (! (arg in cache)) {&lt;br /&gt;          cache[arg] = fundamental(shell, arg);&lt;br /&gt;      }&lt;br /&gt;      return cache[arg];&lt;br /&gt;  };&lt;br /&gt;  return shell;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;这个版本的函数和Crockford写的版本有一点点不同。首先，参数的顺序被颠倒了，原有函数被设置为第一个参数，第二个参数是缓存对象，为可选参数，因为并不是所有的递归函数都包含初始信息。在函数内部，我将缓存对象的类型从数组转换为对象，这样这个版本就可以适应那些不是返回整数的递归函数。在shell函数里，我使用了in操作符来判断参数是否已经包含在缓存里。这种写法比测试类型不是undefined更加安全，因为undefined是一个有效的返回值。我们还是用之前提到的斐波纳契数列来做说明：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;var fibonacci = memoizer(function(recur, n) {&lt;br /&gt;  return recur(n - 1) + recur(n - 2);&lt;br /&gt;}, { "0": 0, "1": 1} );&lt;/code&gt;&lt;/pre&gt;同样的，执行fibonacci(40)这个函数，只会对原有的函数调用40次，而不是夸张的331,160,280次。memoization对于那些有着严格定义的结果集的递归算法来说，简直是棒极了。然而，确实还有很多递归算法不适合使用memoization方法来进行优化。&lt;br /&gt;&lt;br /&gt;我在学校时的一位教授一直坚持认为，任何使用递归的情况，如果有需要，都可以使用迭代来代替。实际上，递归和迭代经常会被作为互相弥补的方法，尤其是在另外一种出问题的情况下。将递归算法转换为迭代算法的技术，也是和开发语言无关的。这对JavaScript来说是很重要的，因为很多东西在执行环境中是受到限制的（the importance in JavaScript is greater, though, because the resources of the execution environment are so restrictive.）。让我们回顾一个典型的递归算法，比如说归并排序，在JavaScript中实现这个算法需要下面的代码：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;function merge(left, right) {&lt;br /&gt;  var result = [];&lt;br /&gt;  while (left.length &amp;gt; 0 &amp;amp;&amp;amp; right.length &amp;gt; 0) {&lt;br /&gt;      if (left[0] &amp;lt; right[0]) {&lt;br /&gt;          result.push(left.shift());&lt;br /&gt;      } else {&lt;br /&gt;          result.push(right.shift());&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;  return result.concat(left).concat(right);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//采用递归实现的归并排序算法&lt;br /&gt;function mergeSort(items) {&lt;br /&gt;  if (items.length == 1) {&lt;br /&gt;      return items;&lt;br /&gt;  }&lt;br /&gt;  var middle = Math.floor(items.length / 2),&lt;br /&gt;  left = items.slice(0, middle),&lt;br /&gt;  right = items.slice(middle);&lt;br /&gt;  return merge(mergeSort(left), mergeSort(right));&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;调用mergeSort()函数处理一个数组，就可以返回经过排序的数组。注意每次调用mergeSort()函数，都会有两次递归调用。这个算法不可以使用memoization来进行优化，因为每个结果都只计算并使用一次，就算缓冲了结果也没有什么用。如果你使用mergeSort()函数来处理一个包含100个元素的数组，总共会有199次调用。1000个元素的数组将会执行1999次调用。在这种情况下，我们的解决方案是将递归算法转换为迭代算法，也就是说要引入一些循环（关于算法，可以参考这篇《&lt;a href="http://penguin.ewu.edu/%7Etrolfe/NaturalMerge/NatMerge.html"&gt;List Processing: Sort Again, Naturally&lt;/a&gt;》）：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;// 采用迭代实现的归并排序算法&lt;br /&gt;function mergeSort(items) {&lt;br /&gt;  if (items.length == 1) {&lt;br /&gt;      return items;&lt;br /&gt;  }&lt;br /&gt;  var work = [];&lt;br /&gt;  for (var i = 0,&lt;br /&gt;  len = items.length; i &amp;lt; len; i++) {&lt;br /&gt;      work.push([items[i]]);&lt;br /&gt;  }&lt;br /&gt;  work.push([]); //in case of odd number of items&lt;br /&gt;  for (var lim = len; lim &amp;gt; 1; lim = (lim + 1) / 2) {&lt;br /&gt;      for (var j = 0,&lt;br /&gt;      k = 0; k &amp;lt; lim; j++, k += 2) {&lt;br /&gt;          work[j] = merge(work[k], work[k + 1]);&lt;br /&gt;      }&lt;br /&gt;      work[j] = []; //in case of odd number of items&lt;br /&gt;  }&lt;br /&gt;  return work[0];&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;这个归并排序算法实现使用了一系列循环来代替递归进行排序。由于归并排序首先要将数组拆分成若干只有一个元素的数组，这个方法更加明确的执行了这个操作，而不是通过递归函数隐晦的完成。work数组被初始化为包含一堆只有一个元素数组的数组。在循环中每次会合并两个数组，并将合并后的结果放回 work数组中。当函数执行完成后，排序的结果会通过work数组中的第一个元素返回。在这个归并排序的实现中，没有使用任何递归，同样也实现了这个算法。然而，这样做却引入了大量的循环，循环的次数基于要排序的数组中元素的个数，所以我们可能需要使用在&lt;a href="http://cuimingda.com/2009/01/speed-up-your-javascript-part-2.html"&gt;上篇讨论过的技术&lt;/a&gt;来进行修订，处理这些额外开销。&lt;br /&gt;&lt;br /&gt;总结一下基本原则，不管是什么时候使用递归的时候都应该小心谨慎。memoization和迭代是代替递归的两种解决方案，最直接的结果当然就是避免那个&lt;a href="http://cuimingda.com/2009/01/what-determines-script-long-running.html"&gt;提示脚本失控的对话框&lt;/a&gt;。&lt;br /&gt;&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-3951521030477033548?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=3951521030477033548' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/3951521030477033548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/3951521030477033548'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/02/speed-up-your-javascript-part-3.html' title='如何提升JavaScript的运行速度（递归篇）'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-2998990360250715519</id><published>2009-01-31T22:43:00.006+08:00</published><updated>2009-01-31T23:16:40.673+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>如何治理Firefox扩展的全局命名空间污染问题</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;全&lt;/span&gt;局变量是魔鬼，这句话在JavaScript存在的地方应该就是成立的，当然Firefox扩展也不例外，如果大家把多于一个的对象置于全局命名空间下，和其他扩展的冲突是很容易发生的，而且发现这种冲突引起的错误是很困难的，因为每个人的扩展列表都不一样啊。避免全局名字污染已经成了一个基本原则，本文从这点引申，介绍了一个应用在Firebug中的扩展架构模式，非常值得推荐。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文】&lt;a href="http://www.softwareishard.com/blog/planet-mozilla/firefox-extensions-global-namespace-pollution/"&gt;Firefox Extensions: Global Namespace Pollution&lt;/a&gt;&lt;br /&gt;【作者】&lt;a href="mailto:honza@softwareishard.com"&gt;Jan Odvarko&lt;/a&gt;&lt;br /&gt;【译文】&lt;a href="http://cuimingda.com/2009/01/extensions-global-namespace-pollution.html"&gt;http://cuimingda.com/2009/01/extensions-global-namespace-pollution.html&lt;/a&gt;&lt;br /&gt;【译者】&lt;a href="http://cuimingda.com/"&gt;明达&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;最近有几个开发者向我咨询如何设计Firefox扩展的架构，第一个显现在我脑海中的答案就是要合理定义那些在&lt;a href="http://www.xulplanet.com./references/objref/ChromeWindow.html"&gt;ChromeWindow&lt;/a&gt;作用域下的全局变量。&lt;br /&gt;&lt;br /&gt;不合理的定义全局变量，可以轻易的引发不同扩展之间的冲突，而这些完全是应该避免的（这也是&lt;a href="http://www.cesaroliveira.net/tea/archives/51"&gt;AMO审阅的步骤&lt;/a&gt;之一），因为冲突所引发的问题是很难被发现的。就目前的开发环境来说，全局变量就是&lt;a href="http://yuiblog.com./blog/2006/06/01/global-domination/"&gt;魔鬼&lt;/a&gt;，尤其是采用OOP开发模式的时候。&lt;br /&gt;&lt;br /&gt;我不想重复介绍如何&lt;a href="http://kb.mozillazine.org/Getting_started_with_extension_development"&gt;从头开始开发一个Firefox扩展&lt;/a&gt;，对于这方面已经有很多&lt;a href="https://developer.mozilla.org/en/Building_an_Extension"&gt;非常详细的文章&lt;/a&gt;。本文的重点放在如何设计一个更加易于维护的Firefox扩展架构。&lt;br /&gt;&lt;br /&gt;如果你对前面的介绍感兴趣，那就接着看吧。。。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;命名空间架构&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;扩展之间发生冲突的重要原因就是因为定义了不合理的全局变量。我认为对每个扩展来说，只有一个全局变量已经很足够了（可以根据扩展的信息来定义这个唯一的全局变量的名字，比如可以是扩展的名字、域名、地址等），不仅可以满足我们的开发，而且可以避免那些令人讨厌的冲突。&lt;br /&gt;&lt;br /&gt;Firebug使用的命名空间架构，基本建立在著名的&lt;a href="http://yuiblog.com/blog/2007/06/12/module-pattern/"&gt;Module Pattern&lt;/a&gt;基础上（这种模式最早由&lt;a href="http://en.wikipedia.org./wiki/Douglas_Crockford"&gt;Douglas Crockfod&lt;/a&gt;定义）下的。这种模式简单而清晰，但其实我在很长时间里都不是很明确这种模式究竟是如何工作的（I hadn’t understand how it actually works for a long time）。我相信每个开发者都可以充分利用这个方法。&lt;br /&gt;&lt;br /&gt;基本的思路是将每个JavaScript脚本文件放进自己的作用域，这是通过一个函数来实现的，没有定义任何全局变量，比如下面这段代码：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;function() {&lt;br /&gt;  // TODO: 脚本文件中的全部代码&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;我管这个函数就叫做命名空间。&lt;br /&gt;&lt;br /&gt;摆在眼前的第一个问题是，如何确定这个函数的内容会在正确的时间被调用。第二个问题是，如何在多个脚本文件中共享对象（这个会在后面的章节解答）。 Firebug通过将所有的命名空间进行注册，并在Firefox chrome UI加载的时候调用来解决第一个问题，也就是下面这段代码：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;myExtension.ns(function() {&lt;br /&gt;  // TODO: 脚本文件中的全部代码&lt;br /&gt;});&lt;/code&gt;&lt;/pre&gt;命名空间（就是原来定义的那个函数）为当作myExtension.ns函数的一个参数，而myExtension对象是这个扩展中定义的唯一全局变量。这个对象代表着整个扩展。不用担心这个名字太长，我们可以为他建立个快捷方式（在实际开发中，这个名字可能会类似 comSoftwareIsHardMyExtension这个样子）。&lt;br /&gt;&lt;br /&gt;ns函数比较简单，就是把所有的方法都添加到一个数组中。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;var namespaces = [];&lt;br /&gt;this.ns = function(fn) {&lt;br /&gt;  var ns = {};&lt;br /&gt;  namespaces.push(fn, ns);&lt;br /&gt;  return ns;&lt;br /&gt;};&lt;/code&gt;&lt;/pre&gt;执行已注册命名空间的函数，不可以命名为apply，别的什么名字都可以。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;this.initialize = function() {&lt;br /&gt;  for (var i = 0; i &amp;lt; namespaces.length; i += 2) {&lt;br /&gt;      var fn = namespaces[i];&lt;br /&gt;      var ns = namespaces[i + 1];&lt;br /&gt;      fn.apply(ns);&lt;br /&gt;  }&lt;br /&gt;};&lt;/code&gt;&lt;/pre&gt;现在，然我们把前面的代码连起来，看看全局扩展对象是如何定义和初始化的。&lt;br /&gt;&lt;br /&gt;下面这些代码是browserOverlay.js文件的内容，这个脚本文件会在一个界面文件（browserOverlay.xul）中被引用。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;// 扩展对应的唯一全局变量&lt;br /&gt;var myExtension = {};&lt;br /&gt;(function() { // 注册命名空间&lt;br /&gt;  var namespaces = [];&lt;br /&gt;  this.ns = function(fn) {&lt;br /&gt;      var ns = {};&lt;br /&gt;      namespaces.push(fn, ns);&lt;br /&gt;      return ns;&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  // 初始化&lt;br /&gt;  this.initialize = function() {&lt;br /&gt;      for (var i = 0; i &amp;lt; namespaces.length; i += 2) {&lt;br /&gt;          var fn = namespaces[i];&lt;br /&gt;          var ns = namespaces[i + 1];&lt;br /&gt;          fn.apply(ns);&lt;br /&gt;      }&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  // 收尾的清理工作&lt;br /&gt;  this.shutdown = function() {&lt;br /&gt;      window.removeEventListener("load", myExtension.initialize, false);&lt;br /&gt;      window.removeEventListener("unload", myExtension.shutdown, false);&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  // 注册两个事件处理程序，维护扩展的生存期&lt;br /&gt;  window.addEventListener("load", myExtension.initialize, false);&lt;br /&gt;  window.addEventListener("unload", myExtension.shutdown, false);&lt;br /&gt;}).apply(myExtension);&lt;/code&gt;&lt;/pre&gt;正如我前文所述，这里只有一个全局对象myExtension。&lt;br /&gt;&lt;br /&gt;总结一下，这个对象要实现下面几个方法：&lt;br /&gt;ns - 注册一个新的命名空间。&lt;br /&gt;initialize - 初始化所有的命名空间。&lt;br /&gt;shutdown - 收尾的清理工作。&lt;br /&gt;&lt;br /&gt;当然这段代码也会确保initialize和shutdown方法会在正确的时间被调用，这也是两个事件处理程序的作用。&lt;br /&gt;&lt;br /&gt;browserOverlay.xul现在看起来可能会是下面这个样子：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&amp;gt;&lt;br /&gt;  &amp;lt;script src="chrome://namespace/content/browserOverlay.js" type="application/x-javascript"/&amp;gt;&lt;br /&gt;  &amp;lt;script src="chrome://namespace/content/Module1.js" type="application/x-javascript"/&amp;gt;&lt;br /&gt;  &amp;lt;script src="chrome://namespace/content/Module2.js" type="application/x-javascript"/&amp;gt;&lt;br /&gt;&amp;lt;/overlay&amp;gt;&lt;/code&gt;&lt;/pre&gt;在这里，Module1.js和Module2.js两个文件是一模一样的。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;myExtension.ns(function() {&lt;br /&gt;  // TODO: 脚本内的全部代码&lt;br /&gt;});&lt;/code&gt;&lt;/pre&gt;&lt;strong&gt;在不同的模块间共享数据&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;我们已经把所有的脚本置于本地的作用域下，现在让我们来回答上面提到的第二个问题，就是在不同的命名空间下如何共享函数和数据。基本的思路当然是要利用我们唯一的全局对象啦，也就是myExtension。&lt;br /&gt;&lt;br /&gt;首先，让我们先来看看下面这段代码（都在lib.js文件中）&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;myExtension.LIB = {&lt;br /&gt;  // 共享函数接口&lt;br /&gt;  getCurrentURI: function() {&lt;br /&gt;      return window.location.href;&lt;br /&gt;  },&lt;br /&gt;&lt;br /&gt;  // 扩展对象的快捷方式&lt;br /&gt;  theApp: myExtension,&lt;br /&gt;&lt;br /&gt;  // XPCOM组件的快捷方式&lt;br /&gt;  Cc: Components.classes,&lt;br /&gt;  Ci: Components.interfaces,&lt;br /&gt;&lt;br /&gt;  // 等等。。。&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;你可以注意到，这段代码在全局的myExtension对象下建立了一个新的LIB属性，这个属性定义了一个函数库，是要在扩展所有的模块中共享的。你应该在&lt;a href="http://en.wikipedia.org./wiki/Java_package"&gt;Java的包结构&lt;/a&gt;中看到过相同的做法，所有的命名空间呈树状结构分布在一个唯一的对象下面，&lt;a href="http://developer.yahoo.com/yui/yahoo/"&gt;YUI&lt;/a&gt;也是这样子做的。&lt;br /&gt;&lt;br /&gt;lib.js文件也在browserOverlay.xul中引入，紧随browserOverlay.js的后面。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&amp;gt;&lt;br /&gt;  &amp;lt;script src="chrome://myextension/content/browserOverlay.js" type="application/x-javascript"/&amp;gt;&lt;br /&gt;  &amp;lt;script src="chrome://myextension/content/lib.js" type="application/x-javascript"/&amp;gt;&lt;br /&gt;  &amp;lt;script src="chrome://myextension/content/Module1.js" type="application/x-javascript"/&amp;gt;&lt;br /&gt;  &amp;lt;script src="chrome://myextension/content/Module2.js" type="application/x-javascript"/&amp;gt;&lt;br /&gt;&amp;lt;/overlay&amp;gt;&lt;/code&gt;&lt;/pre&gt;让我们对模块内的脚本也做一些改进。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;myExtension.ns(function() {&lt;br /&gt;  with(myExtension.LIB) {&lt;br /&gt;      // TODO: 脚本内的全部代码&lt;br /&gt;      var moduleVariable = "Accessible only from withing this module";&lt;br /&gt;      dump("myExtension.Module initialization " + getCurrentURI() + "\n");&lt;br /&gt;  }&lt;br /&gt;});&lt;/code&gt;&lt;/pre&gt;通过利用with语句，我们可以方便的访问所有的库函数，就像访问全局变量一样。&lt;br /&gt;&lt;br /&gt;既然我们要访问全局对象，还可以像下面这样利用theApp这个快捷方式（尤其是命名空间名字太长的时候）&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;myExtension.ns(function() {&lt;br /&gt;  with(myExtension.LIB) {&lt;br /&gt;      // TODO: 脚本内的全部代码&lt;br /&gt;      theApp.sharedValue = "A new shared property";&lt;br /&gt;  }&lt;br /&gt;});&lt;/code&gt;&lt;/pre&gt;下面这个图是从UML的角度来纵观整个架构。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.softwareishard.com/images/posts/extension-architecture/namespaces.png"&gt;&lt;img style="cursor: pointer; width: 382px; height: 287px;" src="http://www.softwareishard.com/images/posts/extension-architecture/namespaces.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;大家可以在&lt;a href="http://www.softwareishard.com/downloads/examples/extensions/namespaces-20090115.xpi"&gt;这里&lt;/a&gt;下载本文提到的演示扩展。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-2998990360250715519?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=2998990360250715519' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/2998990360250715519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/2998990360250715519'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/extensions-global-namespace-pollution.html' title='如何治理Firefox扩展的全局命名空间污染问题'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-1135659014751348151</id><published>2009-01-31T11:33:00.006+08:00</published><updated>2009-01-31T23:17:02.555+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>有趣的JavaScript数组</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;本&lt;/span&gt;文是Rick Strahl在使用JavaScript数组上的经验之谈，在一些细微的地方介绍了JavaScript在处理数组上，相对于其他开发语言的不同之处，有些可能是我们自己想当然的事情，但实际上不是那么回事，呵呵。具体涉及到JavaScript数组初始化、length、扩展属性等。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文】&lt;a href="http://west-wind.com/Weblog/posts/608772.aspx"&gt;Javascript Array Fun&lt;/a&gt;&lt;br /&gt;【作者】&lt;a href="https://twitter.com/rickstrahl"&gt;Rick Strahl&lt;/a&gt;&lt;br /&gt;【译文】&lt;a href="http://cuimingda.com/2009/01/javascript-array-fun.html"&gt;http://cuimingda.com/2009/01/javascript-array-fun.html&lt;/a&gt;&lt;br /&gt;【译者】&lt;a href="http://cuimingda.com/"&gt;明达&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Josh在我之前的一篇帖子中留下了一条评论，指出在CSS property watcher component中存在一些小错误，这是一个jQuery插件，将CSS属性保存在数组中，并且跟踪这些值的变化，当发现CSS属性值发生变化时，会抛出一个事件，用户可以在事件中做出相应的处理。&lt;br /&gt;&lt;br /&gt;我的错误出在如何定义数组上：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;var data = {&lt;br /&gt;  props: props.split(","),&lt;br /&gt;  func: func,&lt;br /&gt;  vals: [props.split(",").length],&lt;br /&gt;  itvlId: itId&lt;br /&gt;};&lt;/code&gt;&lt;/pre&gt;这段代码是要建立一个特定长度的数组，但显然结果和我预想的不大一样。实际上这个数组只包含一个元素，就是length的值，而要实现初始化数组的目标，正确的做法应该是下面这个样子：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;vals: new Array(props.split(",").length)&lt;/code&gt;&lt;/pre&gt;可为什么我以前定义的方法错了，那个插件却能正常运行呢？因为JavaScript可以根据赋值动态的建立数组，而不需要预先进行初始化，所以就算定义方法错了，也能正常运行。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;$.each(data.props, function(i) { data.vals[i] = el.css(data.props[i]); });&lt;/code&gt;&lt;/pre&gt;这段代码遍历了props数组，并且通过对vals数组对应索引赋值，动态的建立了一个新数组。&lt;br /&gt;&lt;br /&gt;JavaScript的数组可以根据所赋的值自动调整大小，比如下面这个例子：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;var ar = []&lt;br /&gt;ar[2] = 1;&lt;br /&gt;debugger;&lt;/code&gt;&lt;/pre&gt;下面的结果是Firebug调试界面的截图，可以看到数组中有三个元素。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.west-wind.com/Weblog/images/200901/WindowsLiveWriter/22987196fe08_B45F/array%5B4%5D_4af7d683-d6e0-4e63-94f0-354ae839dd1c.png"&gt;&lt;img style="cursor: pointer; width: 852px; height: 348px;" src="http://www.west-wind.com/Weblog/images/200901/WindowsLiveWriter/22987196fe08_B45F/array%5B4%5D_4af7d683-d6e0-4e63-94f0-354ae839dd1c.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;这个数组的长度是3，就像一个经过初始化的数组一样。所有没有赋值的数组对象，都将被定义为undefined。&lt;br /&gt;&lt;br /&gt;JavaScript可以自动重新调整数组的大小，这真是太棒了，但也许预先设置一个固定的大小，可以避免数组内部频繁的调整大小。对已有的元素进行赋值，肯定要比每次赋值前重新调整大小要快的多。&lt;br /&gt;&lt;br /&gt;这种自动调整大小的机制，更容易出现越界数组（out of bounds array），而且更难发现。所以要加倍注意类似的情况。&lt;br /&gt;&lt;br /&gt;关于动态数组，下面介绍的这个情况也很有意思：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;var ar = []&lt;br /&gt;ar["test"] = 4;&lt;br /&gt;ar[3] = 1;&lt;br /&gt;var len = ar.length;&lt;br /&gt;debugger;&lt;/code&gt;&lt;/pre&gt;让我们来猜一猜，此时此刻这个数组的大小应该是多少呢？&lt;br /&gt;&lt;br /&gt;这段代码建立了一个数组，其中包含数值索引和字符串索引，而且这可以正常工作，无论你使用ar[3]还是ar["test"]都可以得到预期的结果。下面的截图展示了在Firebug中的调试结果：&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.west-wind.com/Weblog/images/200901/WindowsLiveWriter/22987196fe08_B45F/Array2_24fd4535-11eb-43ed-a068-1de0befc3cf8.png"&gt;&lt;img style="cursor: pointer; width: 621px; height: 393px;" src="http://www.west-wind.com/Weblog/images/200901/WindowsLiveWriter/22987196fe08_B45F/Array2_24fd4535-11eb-43ed-a068-1de0befc3cf8.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;请注意，数组的长度是4，而此时数组中包含4个数值索引的元素和一个字符串索引的元素。也就是说，字符串索引的元素是不计入数组长度的计算范围的。而取而代之的，字符串索引器实际上作为数组对象的一个扩展属性而存在。Visual Studio JavaScript Debugger更加准确的证明了这点：&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.west-wind.com/Weblog/images/200901/WindowsLiveWriter/22987196fe08_B45F/VsArray_b1966d99-64b2-4d92-b47b-f80783a1451f.png"&gt;&lt;img style="cursor: pointer; width: 701px; height: 118px;" src="http://www.west-wind.com/Weblog/images/200901/WindowsLiveWriter/22987196fe08_B45F/VsArray_b1966d99-64b2-4d92-b47b-f80783a1451f.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;从这张截图可以看出，test已经成为array对象的一个属性，和length属性的性质是一模一样的。&lt;br /&gt;&lt;br /&gt;本文没有提到什么新内容，但如果不了解JavaScript在处理数组上的细微差别，就会出现类似我之前所犯下的错误。上面提到的内容都是我在实际开发过程中曾经遇到过的问题，借这个机会记录下来，就当是给自己的备忘录了，如果恰好对你有帮助，将不胜荣幸。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-1135659014751348151?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=1135659014751348151' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/1135659014751348151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/1135659014751348151'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/javascript-array-fun.html' title='有趣的JavaScript数组'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-3031417922144172043</id><published>2009-01-29T20:37:00.004+08:00</published><updated>2009-01-29T20:47:10.007+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firebug'/><title type='text'>Firebug发布1.3.1b1和1.4.0a12等四个版本</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;F&lt;/span&gt;irebug现在已经成了Web开发的必备工具，尤其是在Firefox浏览器上。这次同时发布了四个版本，其中有两个是带错误跟踪的，主要用于Firebug本身的调试。Firebug现在有两个分支，老版本1.3一直可以稳定使用，1.4正在全新开发，如果不介意没有中文语言包，个人还是比较倾向于用最新的，呵呵。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a href="http://blog.getfirebug.com/?p=55"&gt;Firebug Releases: 1.3.1b1 and 1.4.0a12&lt;/a&gt;&lt;br /&gt;【原文作者】jjb&lt;br /&gt;【本文地址】&lt;a href="http://cuimingda.com/2009/01/firebug-131b1-and-140a12-released.html"&gt;http://cuimingda.com/2009/01/firebug-131b1-and-140a12-released.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;getfirebug.com上今天&lt;a href="http://getfirebug.com/releases/"&gt;发布了Firebug的四个最新版本&lt;/a&gt;：&lt;br /&gt;&lt;br /&gt;第一个是Firebug 1.3.1b1。这个版本&lt;a href="http://code.google.com/p/fbug/source/detail?r=1799"&gt;修复&lt;/a&gt;了若干在addons.mozilla.org上发布1.3.0以来发现的缺陷，同时也支持了更多的语言包。修复的具体缺陷包括命令行的范围（the scope of the command line）、console变量和命令行有时会无效的问题（various console or command line not ready problems）、命令行按Tab自动完成输入（tab completion in the command line）以及文件锁定（file locking）等。&lt;br /&gt;&lt;br /&gt;第二个是Firebug 1.3X.1b1。和1.3.1b1一样，但是多了FBTrace模块，该模块可以对Firebug进行诊断，判断出错的原因。&lt;br /&gt;&lt;br /&gt;第三个是1.4.0a12。包括所有1.3.1b1已经修复的漏洞，&lt;a href="http://code.google.com/p/fbug/source/detail?r=1798"&gt;还有一些&lt;/a&gt;1.3这个版本分支所不支持的功能的漏洞。另外，这个版本增加了跨文件搜索的预览版，由多才的kpdecker开发；还有就是，我们可能不得不将部分界面修改为1.4b1以前的样子。&lt;br /&gt;&lt;br /&gt;第四个是1.4X.0a12，和1.4.0a12保持一致，只是多了FBTrace模块。&lt;br /&gt;&lt;br /&gt;Firebug 1.3.1这个版本主要面向那些受困于现有缺陷的用户，我们迫切需要得到大家的反馈，以便知道是否解决了一些没有被测试到的问题，但实际上已经在这个版本中解决了。&lt;br /&gt;&lt;br /&gt;Firebug 1.4.0这个版本的目标是要成为Firebug最棒的版本，我们同时希望这个版本能够弥补那个不幸的a11所犯下的一大堆初错误。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-3031417922144172043?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=3031417922144172043' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/3031417922144172043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/3031417922144172043'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/firebug-131b1-and-140a12-released.html' title='Firebug发布1.3.1b1和1.4.0a12等四个版本'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-663699540590202877</id><published>2009-01-29T18:53:00.008+08:00</published><updated>2009-01-29T19:10:29.565+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>用JavaScript判断IE浏览器，只需要13个字节！</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;在&lt;/span&gt;中国，用户最多的浏览器当属Microsoft的Internet Explorer浏览器，虽然现在呈现下滑趋势。同其他浏览器开发厂商一样，微软在ECMA-262的基础上为JScript增加了很多特性，这些特性只有在IE下才有效。而我们为了保证这些特殊的代码只在IE下执行，就必须正确的判断出当前用户的浏览器是不是IE，本文就介绍了三种方法，最小的一个才13个字节。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a href="http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html"&gt;32 bytes, ehr ... 9, to know if your browser is IE&lt;/a&gt;&lt;br /&gt;【原文作者】&lt;a href="http://www.blogger.com/profile/16277820774810688474"&gt;Andrea Giammarchi&lt;/a&gt;&lt;br /&gt;【本文地址】&lt;a href="http://cuimingda.com/2009/01/how-to-know-if-your-browser-is-ie.html"&gt;http://cuimingda.com/2009/01/how-to-know-if-your-browser-is-ie.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;更新：&lt;/strong&gt;答案更新为13字节版，非常感谢Gareth Heyes赢得了这次竞赛&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;if("\v"=="v") // 这个判断真的只有在IE下才为真，包括IE 8。&lt;/code&gt;&lt;/pre&gt;我以前的办法，32字节版本：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;try{IE=window=!1}catch(e){IE=!0}&lt;/code&gt;&lt;/pre&gt;用很有效，不是么？这个技巧通常应用在类库（library/hack proof）中。但如果你认为使用execScript来做判断已经足够了，那你就要来考虑一下这种情况：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;top["execScript"]=null&lt;/code&gt;&lt;/pre&gt;当然还要考虑到类库为其他浏览器也实现了execScript方法。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下为译者的注释和补充说明：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;在Ajaxian.com上列举的通过execScript判断IE的方法：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;IE=top.execScript?1:0&lt;/code&gt;&lt;/pre&gt;在Ajaxian上的回复，提到了Microsoft的《JScript Deviations from ES3》（这个文档列举了JScript对ECMA-262第三版的增强列表），说在这个文档的7.2节提到了本文说的方法，我下载了这个文档，但第七章还没有编写完，可能找到不是一个版本吧。中国还是IE的用户比较多，所以推荐大家仔细看一下这篇文档，两个下载地址，一个是ECMA的，一个是Microsoft，链接在页面上很好找，PDF格式。&lt;br /&gt;* &lt;a href="http://wiki.ecmascript.org/doku.php?id=es3.1:es3.x_working_docs"&gt;http://wiki.ecmascript.org/doku.php?id=es3.1:es3.x_working_docs&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://blogs.msdn.com/jscript/archive/2007/10/29/ecmascript-3-and-beyond.aspx"&gt;http://blogs.msdn.com/jscript/archive/2007/10/29/ecmascript-3-and-beyond.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ajaxian.com转载了这篇文章，下面这个是具体的文章地址：&lt;br /&gt;&lt;a href="http://ajaxian.com/archives/ievv"&gt;http://ajaxian.com/archives/ievv&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-663699540590202877?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=663699540590202877' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/663699540590202877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/663699540590202877'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/how-to-know-if-your-browser-is-ie.html' title='用JavaScript判断IE浏览器，只需要13个字节！'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-422126279340800593</id><published>2009-01-28T21:02:00.007+08:00</published><updated>2009-01-28T21:20:59.668+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><title type='text'>解决Blogger下jstiming和_WidgetManager未定义的错误</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;&lt;/span&gt;昨天晚上精简Blogger的模板，不经意间发现Firebug报出两个错误，百思不得其解。一个提示window.jstiming未定义，另外一个提示_WidgetManager未定义。看名字应该都是Blogger自动添加的代码，跟自己修改的部分没有关系啊，于是找了一个默认的模板，一段一段替换成自己的代码，最后总算是让我找到了，虽然找得比较郁闷。&lt;/p&gt;&lt;div class="fullpost"&gt;【本文地址】&lt;a href="http://cuimingda.com/2009/01/blogger-jstiming-undefined.html"&gt;http://cuimingda.com/2009/01/blogger-jstiming-undefined.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;先看一下异常信息，在Firefox 3和Internet Explorer 7下都会提示：&lt;br /&gt;window.jstiming is undefined&lt;br /&gt;_WidgetManager is undefined&lt;br /&gt;&lt;br /&gt;问题的症结是Blogger对代码进行了升级，在下面这个标记里自动添加了JavaScript脚本：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;&amp;lt;b:include data='blog' name='all-head-content'/&amp;gt;&lt;/code&gt;&lt;/pre&gt;具体的脚本从Firefox 3上看是下面这个样子：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;(function() {&lt;br /&gt;var a = window;&lt;br /&gt;function b() {&lt;br /&gt;    this.t = {};&lt;br /&gt;    this.tick = function(e, f) {&lt;br /&gt;        this.t[e] = [(new Date).getTime(), f]&lt;br /&gt;    };&lt;br /&gt;    this.tick("start")&lt;br /&gt;}&lt;br /&gt;var c = new b;&lt;br /&gt;a.jstiming = {&lt;br /&gt;    Timer: b,&lt;br /&gt;    load: c&lt;br /&gt;};&lt;br /&gt;if (a.external &amp;amp;&amp;amp; a.external.pageT) a.jstiming.pt = a.external.pageT;&lt;br /&gt;var d = false;&lt;br /&gt;function g() {&lt;br /&gt;    if (!d) {&lt;br /&gt;        d = true;&lt;br /&gt;        a.jstiming.load.tick("firstScrollTime")&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;a.addEventListener ? a.addEventListener("scroll", g, false) : a.attachEvent("onscroll", g);&lt;br /&gt;})();&lt;/code&gt;&lt;/pre&gt;而由于我把all-head-content给替换了，自然就没有更新这段代码，出错也就是理所应当的了。先不说这段脚本是做什么的，就冲着偷偷的插在我的博客中这点，就值得鄙视。问题的解决办法也很简单，把all-head-content加回来就可以了，这里需要注意的是，如果只是把那段脚本加过来，需要注意处理“&amp;amp;”，而且既然blogger在这里加了代码，肯定会更新的，所以这种方式也就不建议了。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-422126279340800593?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=422126279340800593' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/422126279340800593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/422126279340800593'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/blogger-jstiming-undefined.html' title='解决Blogger下jstiming和_WidgetManager未定义的错误'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-3280058032570528386</id><published>2009-01-28T19:07:00.004+08:00</published><updated>2009-01-28T19:14:30.575+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Sites'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>SitePoint上线新版JavaScript参考手册</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;S&lt;/span&gt;itePoint是一个面向Web开发者和Web设计者的网站，这里聚集了非常多的Web领域的高手，第一时间为大家提供最新的各类技术文章。 SitePoint的参考手册对于Web领域的朋友，是非常方便的助手，现在推出了新版，增加了JavaScript的内容，更加充实了。可以在一个搜索框内查询HTML、CSS和JavaScript的内容，但JavaScript貌似还不包括BOM的部分。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a href="http://www.sitepoint.com/blogs/2009/01/27/introducing-the-new-sitepoint-css-html-javascript-online-references/"&gt;Introducing the NEW SitePoint CSS, HTML &amp;amp; JavaScript Online References&lt;/a&gt;&lt;br /&gt;【原文作者】&lt;a href="http://www.sitepoint.com/articlelist/520"&gt;Shayne Tilley&lt;/a&gt;&lt;br /&gt;&lt;p&gt;SitePoint的&lt;a href="http://reference.sitepoint.com/" mce_href="http://reference.sitepoint.com/"&gt;HTML和CSS在线参考手册&lt;/a&gt;已经稳定运行很长时间了，而且已经成为了全世界Web开发者和Web设计者的一个重要的免费资料来源。&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.sitepoint.com/blogs/wp-content/uploads/2009/01/search-the-reference.jpg" mce_src="http://www.sitepoint.com/blogs/wp-content/uploads/2009/01/search-the-reference.jpg" alt="" height="70" width="300" /&gt;&lt;/p&gt; &lt;p&gt;图例：新版参考手册搜索框&lt;/p&gt; &lt;p&gt;我们非常荣幸的宣布，全新的SitePoint参考手册网站已经与大家见面了。。。而且。。。备受期待的&lt;a href="http://reference.sitepoint.com/javascript" mce_href="http://reference.sitepoint.com/javascript"&gt;JavaScript参考手册&lt;/a&gt;也在这次一同发布了第一个版本。&lt;/p&gt; &lt;p&gt;无论是外观还是感觉，都已经被完全替换为一个崭新的系统，更加方便大家阅读，增加了更多的互动示例，优化了导航和页面布局，还有很多就不再这里透漏了，等着大家自己去发现。&lt;/p&gt; &lt;div class="wp-caption alignnone" style="width: 310px;"&gt;&lt;a href="http://www.sitepoint.com/blogs/wp-content/uploads/2009/01/sample-js-reference-content.jpg" mce_href="http://www.sitepoint.com/blogs/wp-content/uploads/2009/01/sample-js-reference-content.jpg"&gt;&lt;img class="size-medium wp-image-4500" title="Sample content from The SitePoint JavaScript Reference" src="http://www.sitepoint.com/blogs/wp-content/uploads/2009/01/sample-js-reference-content-300x218.jpg" mce_src="http://www.sitepoint.com/blogs/wp-content/uploads/2009/01/sample-js-reference-content-300x218.jpg" alt="Sample content from The SitePoint JavaScript Reference" height="218" width="300" /&gt;&lt;/a&gt; &lt;p class="wp-caption-text"&gt;图例：JavaScript参考手册的示例页面&lt;/p&gt; &lt;/div&gt; &lt;p&gt;所有最新、最棒的信息现在已经可以在参考手册中找到了，第一阶段的JavaScript部分，主要是由Jedi James(&lt;a href="http://www.brothercake.com/" mce_href="http://www.brothercake.com/"&gt;Brothercake&lt;/a&gt;)写的，DOM核心参考手册部分是由Edwards完成的。&lt;/p&gt; &lt;p&gt;还是让这个&lt;a href="http://reference.sitepoint.com/" mce_href="http://reference.sitepoint.com/"&gt;新网站&lt;/a&gt;自己来证明实力吧，去看看吧，好好体验一下，别忘了告诉我们你的想法哟！&lt;/p&gt; &lt;div class="wp-caption alignnone" style="width: 310px;"&gt;&lt;a href="http://www.sitepoint.com/blogs/wp-content/uploads/2009/01/dom-exception-tree.jpg" mce_href="http://www.sitepoint.com/blogs/wp-content/uploads/2009/01/dom-exception-tree.jpg"&gt;&lt;img class="size-medium wp-image-4499" title="DOM Exception Tree" src="http://www.sitepoint.com/blogs/wp-content/uploads/2009/01/dom-exception-tree-300x201.jpg" mce_src="http://www.sitepoint.com/blogs/wp-content/uploads/2009/01/dom-exception-tree-300x201.jpg" alt="DOM Exception Tree" height="201" width="300" /&gt;&lt;/a&gt; &lt;p class="wp-caption-text"&gt;图例：DOM异常对象树型表&lt;/p&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-3280058032570528386?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=3280058032570528386' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/3280058032570528386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/3280058032570528386'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/new-sitepoint-online-references.html' title='SitePoint上线新版JavaScript参考手册'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-6694585840136598592</id><published>2009-01-24T23:24:00.007+08:00</published><updated>2009-01-24T23:43:38.795+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>如何提升JavaScript的运行速度（函数篇）</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;这&lt;/span&gt;篇是Nicholas讨论如果防止脚本失控的第二篇，主要讨论了如何重构嵌套循环、递归，以及那些在函数内部同时执行很多子操作的函数。基本的思想和上一节trunk()那个例子一致，如果几个操作没有特定的执行顺序，而且互相不是依赖关系，我们就可以通过异步调用的方式加以执行，不止可以减少执行的次数，还可以防止脚本失控。本文还介绍了通过memoization技术取代递归的方法。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a href="http://www.nczonline.net/blog/2009/01/20/speed-up-your-javascript-part-2/"&gt;Speed up your JavaScript, Part 2&lt;/a&gt;&lt;br /&gt;【原文作者】&lt;a href="http://www.nczonline.net/about/"&gt;Nicholas C. Zakas&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;上周我在《&lt;a href="http://www.nczonline.net/blog/2009/01/13/speed-up-your-javascript-part-1/"&gt;too much happening in a loop&lt;/a&gt;》（&lt;a href="http://cuimingda.com/2009/01/speed-up-your-javascript-part-1.html"&gt;译文&lt;/a&gt;）这篇文章中介绍了JavaScript运行时间过长的第一个原因。相似的情况有时也出现在函数的定义上，函数也可能因为使用不当而过载使用。通常情况是函数内包含了过多的循环（不是在循环中执行了过多的内容），太多的递归，或者只不过是太多不相干但又要一起执行的操作。&lt;br /&gt;&lt;br /&gt;太多的循环经常是以嵌套的形式出现，这种代码会一直占用JavaScript引擎直至循环结束。这方面有一个非常著名的例子，就是使用冒泡算法排序。由于JavaScript有内置的sort()方法，我们没有必要使用这种方式进行排序，但我们可以借助这个算法理解嵌套循环占用资源的症结所在，从而避免类似情况的发生。下面是一个在JavaScript使用冒泡排序法的典型例子：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;function bubbleSort(items) {&lt;br /&gt;for (var i = items.length - 1; i &amp;gt;= 0; i--) {&lt;br /&gt;   for (var j = i; j &amp;gt;= 0; j--) {&lt;br /&gt;       if (items[j] &amp;lt; items[j - 1]) {&lt;br /&gt;           var temp = items[j];&lt;br /&gt;           items[j] = items[j - 1];&lt;br /&gt;           items[j - 1] = temp;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;回忆一下你在学校学习的计算机知识，你可能记得冒泡排序法是效率最低的排序算法之一，原因是对于一个包含n个元素的数组，必须要进行n的平方次的循环操作。如果数组中的元素数非常大，那么这个操作会持续很长时间。内循环的操作很简单，只是负责比较和交换数值，导致问题的最大原因在于循环执行的次数。这会导致浏览器运行异常，潜在的直接结果就是那个脚本失控的警告对话框。&lt;br /&gt;&lt;br /&gt;几年前，Yahoo的研究员Julien Lecomte写了一篇题为《&lt;a href="http://www.julienlecomte.net/blog/2007/10/28/"&gt;Running CPU Intensive JavaScript Computations in a Web Browser&lt;/a&gt;》的文章，在这篇文章中作者阐述了如何将很大的javaScript操作分解成若干小部分。其中一个例子就是将冒泡排序法分解成多个步骤，每个步骤只遍历一次数组。我对他的代码做了改进，但方法的思路还是一样的：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;function bubbleSort(array, onComplete) {&lt;br /&gt;var pos = 0; (function() {&lt;br /&gt;   var j, value;&lt;br /&gt;   for (j = array.length; j &amp;gt; pos; j--) {&lt;br /&gt;       if (array[j] &amp;lt; array[j - 1]) {&lt;br /&gt;           value = data[j];&lt;br /&gt;           data[j] = data[j - 1];&lt;br /&gt;           data[j - 1] = value;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;   pos++;&lt;br /&gt;   if (pos &amp;lt; array.length) {&lt;br /&gt;       setTimeout(arguments.callee, 10);&lt;br /&gt;   } else {&lt;br /&gt;       onComplete();&lt;br /&gt;   }&lt;br /&gt;})();&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;这个函数借助一个异步管理器来实现了冒泡算法，在每次遍历数组以前暂停一下。onComplete()函数会在数组排序完成后触发，提示用户数据已经准备好。bubbleSort()函数使用了和chunk()函数一样的基本技术（参考我的上一篇帖子），将行为包装在一个匿名函数中，将 arguments.callee传递给setTimeout()以达到重复操作的目的，直至排序完成。如果你要将嵌套的循环拆解成若干个小步骤，以达到解放浏览器的目的，这个函数提供了不错的指导意见。&lt;br /&gt;&lt;br /&gt;相似的问题还包括过多的递归。每个额外的递归调用都会占用更多的内存，从而减慢浏览器的运行。恼人的是，你可能在浏览器发出脚本失控警告之前，就耗尽了系统的内存，导致浏览器处于停止响应的状态。Crockford在博客上曾经对&lt;a href="http://yuiblog.com/blog/2008/12/23/video-crockford-performance/"&gt;这个问题&lt;/a&gt;进行过深入的讨论。他当时使用的例子，就是用递归生成一个斐波那契数列。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;function fibonacci(n) {&lt;br /&gt;return n &amp;lt; 2 ? n: fibonacci(n - 1) + fibonacci(n - 2);&lt;br /&gt;};&lt;/code&gt;&lt;/pre&gt;按照Crockford的说法，执行fibonacci(40)这条语句将重复调用自身331160280次。避免使用递归的方案之一就是使用&lt;a href="http://en.wikipedia.org/wiki/Memoization"&gt;memoization&lt;/a&gt;技术，这项技术可以获取上一次调用的执行结果。Crockford介绍了下面这个函数，可以为处理数值的函数增加这项功能：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;function memoizer(memo, fundamental) {&lt;br /&gt;var shell = function (n) {&lt;br /&gt;   var result = memo[n];&lt;br /&gt;   if (typeof result !== 'number') {&lt;br /&gt;       result = fundamental(shell, n);&lt;br /&gt;       memo[n] = result;&lt;br /&gt;   }&lt;br /&gt;   return result;&lt;br /&gt;};&lt;br /&gt;return shell;&lt;br /&gt;};&lt;/code&gt;&lt;/pre&gt;他接下来将这个函数应用在斐波那契数列生成器上：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;var fibonacci = memoizer([0, 1],&lt;br /&gt;function(recur, n) {&lt;br /&gt;  return recur(n - 1) + recur(n - 2);&lt;br /&gt;});&lt;/code&gt;&lt;/pre&gt;这时如果我们再次调用fibonacci(40)，只会重复调用40次，和原来相比提高得非常多。memoization的原理，概括起来就一句话，同样的结果，你没有必要计算两次。如果一个结果你可能会再次使用，把这个结果保存起来，总比重新计算一次来的快。&lt;br /&gt;&lt;br /&gt;最后一个可能让函数执行缓慢的原因，就是我们之前提到过的，函数里面执行了太多的内容，通常是因为使用了类似下面的开发模式：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;function doAlot() {&lt;br /&gt;  doSomething();&lt;br /&gt;  doSomethingElse();&lt;br /&gt;  doOneMoreThing();&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;在这里要执行三个不同的函数，请注意，无论是哪个函数，在执行过程中都不依赖其他的函数，他们在本质是相对独立的，只是需要在一个特定时间逐一执行而已。同样，你可以使用类似chunk()的方法来执行一系列函数，而不会导致锁定浏览器。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;function schedule(functions, context) {&lt;br /&gt;setTimeout(function() {&lt;br /&gt;   var process = functions.shift();&lt;br /&gt;   process.call(context);&lt;br /&gt;   if (functions.length &amp;gt; 0) {&lt;br /&gt;       setTimeout(arguments.callee, 100);&lt;br /&gt;   }&lt;br /&gt;},&lt;br /&gt;100);&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;schedule函数有两个参数，一个是包含要执行函数的数组，另外一个是标明this所属的上下文对象。函数数组以队列方式实现，Timer事件每次触发的时候，都会将队列最前面的函数取出并执行，这个函数可以通过下面的方式执行一系列函数：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;schedule([doSomething, doSomethingElse, doOneMoreThing], window);&lt;/code&gt;&lt;/pre&gt;很希望各个JavaScript的类库都增加类似这样的进程处理函数。YUI在3.0时就已经引入了&lt;a href="http://developer.yahoo.com/yui/3/queue/"&gt;Queue&lt;/a&gt;对象，可以通过timer连续调用一组函数。&lt;br /&gt;&lt;br /&gt;无论现有的技术可以帮助我们将复杂的进程拆分到什么程度，对于开发者来说，使用这种方法来理解并确定脚本失控的瓶颈是非常重要的。无论是太多的循环、递归还是其他的什么，你现在应该知道如果处理类似的情况。但要记住，这里提到的技术和函数只是起到抛砖引玉的作用，在实际的应用中，你应该对它们加以改进，这样才能发挥更大的作用。&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-6694585840136598592?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=6694585840136598592' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/6694585840136598592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/6694585840136598592'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/speed-up-your-javascript-part-2.html' title='如何提升JavaScript的运行速度（函数篇）'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-6611671108734125439</id><published>2009-01-24T19:40:00.005+08:00</published><updated>2009-01-24T19:54:55.042+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='OCR'/><title type='text'>借助OCR和神经网络，用JavaScript识别验证码</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;以&lt;/span&gt;前在写runrunrob的时候，研究过用JavaScript识别验证码，无论是找到的资料还是自己的结论，最后都说明对于JavaScript来说，这是一个不可能完成的任务，但当我看完了这篇文章以后，眼睛顿时一亮，迫不及待想把这篇文章推荐给大家。JavaScript、OCR、神经网络、验证码和Canvas，在一个脚本中有机的结合在了一起，也许文中提到的那个验证码太简单了，但这是一个不错的开头，不是么？&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a target="blank" href="http://ejohn.org/blog/ocr-and-neural-nets-in-javascript/"&gt;OCR and Neural Nets in JavaScript&lt;/a&gt;&lt;br /&gt;【原文作者】&lt;a target="blank" href="http://ejohn.org/about/"&gt;John Resig&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;昨天发现的了一段非常令人惊奇的JavaScript代码，是由&lt;a href="http://userscripts.org/users/75251"&gt;ShaunF&lt;/a&gt;编写的&lt;a href="http://userscripts.org/scripts/review/38736"&gt;automatically solves captchas&lt;/a&gt;，一个专门应用在&lt;a href="http://megaupload.com/"&gt;Megaupload&lt;/a&gt;网站的Greasemonkey脚本。如果你要亲自尝试一下，可以先&lt;a href="http://herecomethelizards.co.uk/mu_captcha/"&gt;看看这个演示&lt;/a&gt;。而这个脚本的作用，正如名字所示，可以识别这个网站的验证码。&lt;br /&gt;&lt;br /&gt;现在，这个网站的验证码已经不是个什么难题了。（实际上，这是一个本来设计的就不怎么好的验证码，下面会给出一些例子）&lt;br /&gt;&lt;br /&gt;对于这段脚本，我们有很多值得注意的事情：&lt;br /&gt;&lt;br /&gt; 1. Canvas可以将图片嵌入到画布上，而&lt;a href="http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-getimagedata"&gt;getImageData&lt;/a&gt;函数可以从画布上获取验证码的像素数据。&lt;br /&gt; 2. 这个脚本完全用JavaScript编写了一套&lt;a href="http://en.wikipedia.org/wiki/Artificial_neural_network"&gt;神经网络&lt;/a&gt;的实现。&lt;br /&gt; 3. 通过Canvas从图片获取的像素数据，被传入神经网络，通过&lt;a href="http://en.wikipedia.org/wiki/Optical_character_recognition"&gt;OCR技术&lt;/a&gt;来获取图片中所表示的真实字符。&lt;br /&gt;&lt;br /&gt;如果我们翻开&lt;a href="http://userscripts.org/scripts/review/3873"&gt;源代码&lt;/a&gt;，就会发现这个脚本究竟是如何实现的，我们也可以领会这个验证码究竟是如何实现的。就像我之前提到的，这个验证码设计的本身就不好，只有3个字母，而且还用不同的颜色区分，只包含26个字母，最主要的，他们始终是同一字体。&lt;br /&gt;&lt;br /&gt;第一个步骤很明确：把验证码的像素图像复制到Canvas中，并且转换为灰度模式。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;function convert_grey(image_data) {&lt;br /&gt;  for (var x = 0; x &amp;lt; image_data.width; x++) {&lt;br /&gt;      for (var y = 0; y &amp;lt; image_data.height; y++) {&lt;br /&gt;          var i = x * 4 + y * 4 * image_data.width;&lt;br /&gt;          var luma = Math.floor(image_data.data[i] * 299 / 1000 + image_data.data[i + 1] * 587 / 1000 + image_data.data[i + 2] * 114 / 1000);&lt;br /&gt;          image_data.data[i] = luma;&lt;br /&gt;          image_data.data[i + 1] = luma;&lt;br /&gt;          image_data.data[i + 2] = luma;&lt;br /&gt;          image_data.data[i + 3] = 255;&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;接下来Canvas被分解成3个独立的像素矩阵，每个矩阵都包含一个字母。（按道理来说，这是非常容易的事情。每个字母都由不同颜色组成，可以直接用颜色区分不同的字母）&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;filter(image_data[0], 105);&lt;br /&gt;filter(image_data[1], 120);&lt;br /&gt;filter(image_data[2], 135);&lt;br /&gt;function filter(image_data, colour) {&lt;br /&gt;  for (var x = 0; x &amp;lt; image_data.width; x++) {&lt;br /&gt;      for (var y = 0; y &amp;lt; image_data.height; y++) {&lt;br /&gt;          var i = x * 4 + y * 4 * image_data.width; // Turn all the pixels of the certain colour to white&lt;br /&gt;          if (image_data.data[i] == colour) {&lt;br /&gt;              image_data.data[i] = 255;&lt;br /&gt;              image_data.data[i + 1] = 255;&lt;br /&gt;              image_data.data[i + 2] = 255; // Everything else to black&lt;br /&gt;          } else {&lt;br /&gt;              image_data.data[i] = 0;&lt;br /&gt;              image_data.data[i + 1] = 0;&lt;br /&gt;              image_data.data[i + 2] = 0;&lt;br /&gt;          }&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;然后最后，为了得到一个清晰的字母，我们还要把那些不相干的噪声像素从图片上去除。具体的方法，先要找到那些前面或者后面被黑色（之前没有匹配的像素）包裹的白色像素（之前已经匹配的像素），如果找到这样的像素，就简单的把它门直接删除。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;var i = x * 4 + y * 4 * image_data.width;&lt;br /&gt;var above = x * 4 + (y - 1) * 4 * image_data.width;&lt;br /&gt;var below = x * 4 + (y + 1) * 4 * image_data.width;&lt;br /&gt;if (image_data.data[i] == 255 &amp;amp;&amp;amp; image_data.data[above] == 0 &amp;amp;&amp;amp; image_data.data[below] == 0) {&lt;br /&gt;  image_data.data[i] = 0;&lt;br /&gt;  image_data.data[i + 1] = 0;&lt;br /&gt;  image_data.data[i + 2] = 0;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;我们现在已经得到了非常接近的图形，但还不够明确。脚本接下来会检测出这些形状的边缘，具体的是要找到图形中最上面、最下面、最左面和最右面的像素，然后把图形转换成矩形，最后将矩形的数据转换为一个20*25的矩阵。&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;cropped_canvas.getContext("2d").fillRect(0, 0, 20, 25);&lt;br /&gt;var edges = find_edges(image_data[i]);&lt;br /&gt;cropped_canvas.getContext("2d").drawImage(canvas, edges[0], edges[1], edges[2] - edges[0], edges[3] - edges[1], 0, 0, edges[2] - edges[0], edges[3] - edges[1]);&lt;br /&gt;image_data[i] = cropped_canvas.getContext("2d").getImageData(0, 0, cropped_canvas.width, cropped_canvas.height);&lt;/code&gt;&lt;/pre&gt;最后，我们得到了什么？一个20*25的矩阵，里面包含着一个绘制着黑白两种颜色像素的矩形，真是令人兴奋啊。&lt;br /&gt;&lt;br /&gt;矩形被进一步的缩小。一些关键位置的像素以接受体（receptors）的状态被提取出来，这些接受体最终会被传入神经网络。举例而言，某个接受体具体对应的可能是位于9*6位置像素的状态，有像素或者没有像素。脚本会提取一系列这样的状态（远少于对 20*25矩阵整个计算的次数 - 只提取64种状态），并将这些状态传入神经网络。&lt;br /&gt;&lt;br /&gt;你可能要问，为什么不直接对像素进行比较？为什么还要和神经网络扯在一起？问题的关键在于，我们要去掉那些模棱两可的情况。如果你试过了之前提到的&lt;a href="http://herecomethelizards.co.uk/mu_captcha/"&gt;演示&lt;/a&gt;就会发现，直接进行像素比较比通过神经网络比较，更容易出现偶尔判断错误的情况。但我们必须承认，对于大部分用户来说，直接的像素比较应该已经足够了。&lt;br /&gt;&lt;br /&gt;下一个步骤就是尝试猜字母了。神经网络中传入了64个布尔值（由其中的一个字母图像获取而来），同时包含一系列预先计算好的数据。神经网络的理念之一，就是我们首先要知道希望得到什么结果。很可能脚本的作者反复的运行脚本，并收集了一系列最佳评分，这些评分可能包含这样的含义：“如果9*6位置存在像素，那么有58%的可能是字母A”。&lt;br /&gt;&lt;br /&gt;当神经网络对验证码中一个字母对应的64个布尔值进行计算以后，和一个预先计算好的字母表相比较，然后为和每个字母的匹配都给出一个分数。（最后的结果可能类似：98%的可能是字母A，36%的可能是字母B等）&lt;br /&gt;&lt;br /&gt;当对验证码中的三个字母都经过了计算以后，最终的结果也就出来了。确定的是，肯定不是100%精确的（不知道如果在开始的时候不将字母转换成矩形，是不是可以提高评分的精度），但这已经相当好了，至少对于当前的用途来说。而且所有的操作都是在浏览器中，通过基于标准的客户端技术实现的，这不是很神奇么？&lt;br /&gt;&lt;br /&gt;补充说明一下，这个脚本应该算是一个特例吧，这项技术可能会应用在更多设计不良的验证码上，但对于更多设计复杂的验证码来说，就有点力不从心了（尤其是这种基于客户端的分析）。&lt;br /&gt;&lt;br /&gt;我非常期待能有更多人从这个项目中得到灵感，开发出更多有意思的东西来，它的潜力太巨大了。&lt;br /&gt;&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-6611671108734125439?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=6611671108734125439' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/6611671108734125439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/6611671108734125439'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/ocr-and-neural-nets-in-javascript.html' title='借助OCR和神经网络，用JavaScript识别验证码'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-4221404868131342787</id><published>2009-01-24T00:08:00.006+08:00</published><updated>2009-01-24T04:20:05.626+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>如何提升JavaScript的运行速度（循环篇）</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;根&lt;/span&gt;据Nicholas的说法，有四种代码会拖慢脚本的运行，并最终导致脚本失控。分别是次数过多的同步循环、庞大的函数体、不恰当的递归和不合理的DOM调用。这篇着重讲第一个原因。最后给出了一个开发模式，替换传统的循环结构，可以完全避免脚本失控的状况发生。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a target="_blank" href="http://www.nczonline.net/blog/2009/01/13/speed-up-your-javascript-part-1/"&gt;Speed up your JavaScript, Part 1&lt;/a&gt;&lt;br /&gt;【原文作者】&lt;a target="_blank" href="http://www.nczonline.net/about/"&gt;Nicholas C. Zakas&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;在我&lt;a href="http://www.nczonline.net/blog/2009/01/05/what-determines-that-a-script-is-long-running/"&gt;上一篇帖子&lt;/a&gt;（&lt;a href="http://cuimingda.com/2009/01/what-determines-script-long-running.html"&gt;译文&lt;/a&gt;）中，谈到了各个浏览器究竟会在什么情况下弹出脚本失控提示，对于Internet Explorer来说，当浏览器执行了数量过多的语句时就会停止执行脚本，而其他的浏览器，则是持续执行脚本超过一定时间的时候就会给出提示。而我们要探讨的核心问题，不是这些浏览器如果探测失控的脚本，而是我们如何才可以让脚本运行的更快一些，从而避免这些警告。&lt;br /&gt;&lt;br /&gt;脚本失控基本上有以下四个方面的原因：&lt;br /&gt;1. 在循环中执行了太多的操作。&lt;br /&gt;2. 臃肿的函数体&lt;br /&gt;3. 过多的递归&lt;br /&gt;4. 过多的DOM调用&lt;br /&gt;&lt;br /&gt;在这篇帖子中，我将会把重点放到第一条上：循环中的过多操作。循环的操作是同步进行的，所以执行一个循环所花费的时间完全取决于循环的次数。因此有两种情况会导致循环执行的时间过长，并直接导致锁定浏览器。一是循环体中包含了太多的操作，二是循环的次数过多。这两种情况都能直接导致锁定浏览器，并显示脚本失控的提示。&lt;br /&gt;&lt;br /&gt;解决这个问题的诀窍就是用下面这两个问题来评估每个循环：&lt;br /&gt;1. 这个循环必须要同步执行么？&lt;br /&gt;2. 循环里面的数据，必须要按顺序执行么？&lt;br /&gt;&lt;br /&gt;如果两个问题的答案都是否定的话，你就可以选择将循环里的操作进行分解。关键是要根据代码的具体环境确定上面两个问题的答案。一个典型的循环可能像下面这个样子：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;for(var i=0; i &amp;lt; items.length; i++){&lt;br /&gt;   process(items[i]);&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;乍一看这个循环并没有太大的问题，是不是会运行很长时间完全取决于循环的次数。如果紧接循环后没有其他代码在执行的时候需要依赖于循环的结果，那么对于第一个问题的答案就是“不”。你还可以发现，循环每次只处理一个数值，而且不依赖于上一次循环的结果，所以对于第二个问题的答案同样也是否定的。这就意味着，循环可以通过某种方式进行拆解，不会导致锁定浏览器而显示脚本失控的提示。&lt;br /&gt;&lt;br /&gt;在《&lt;a href="http://www.amazon.com/gp/product/047022780X?ie=UTF8&amp;amp;tag=nczonline-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=047022780X"&gt;Professional JavaScript, Second Edition&lt;/a&gt;》这本书中，对于那些执行次数非常巨大的虚幻，我推荐使用下面的方式来处理：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;function chunk(array, process, context){&lt;br /&gt;   setTimeout(function(){&lt;br /&gt;       var item = array.shift();&lt;br /&gt;       process.call(context, item);&lt;br /&gt;&lt;br /&gt;       if (array.length &amp;gt; 0){&lt;br /&gt;           setTimeout(arguments.callee, 100);&lt;br /&gt;       }&lt;br /&gt;   }, 100);&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;chunk()函数的用途就是将一个数组分成小块处理（这也是名字的由来），我们可以传递三个参数。要处理的数组对象、处理函数以及一个可选的上下文变量，用于设置process()函数中对应的this对象。第一个timer用于处理操作之间的延时（这里设置为100毫秒，大家可以根据实际需要自行修改）。每次执行这个函数，都会将数组中的第一个对象取出，并传给process()函数进行操作，如果这时process()中还有未处理完的对象，另外一个timer就会启动，用于重复等待。上面提到的循环，可以通过下面的方法使用这个函数：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;chunk(items, process);&lt;/code&gt;&lt;/pre&gt;需要注意的是，在这里数组采用了队列（queue）的形式，而且在循环的过程中，每次都会发生修改。如果你要修改数组的原始状态，这里介绍两种途径：一种是通过concat()函数，在传递之前，建立一个当前数组的副本：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;chunk(items.concat(), process);&lt;/code&gt;&lt;/pre&gt;另外一种选择是直接修改chunk()函数，直接在函数内部进行修改：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;function chunk(array, process, context){&lt;br /&gt;   var items = array.concat();   //clone the array&lt;br /&gt;   setTimeout(function(){&lt;br /&gt;       var item = items.shift();&lt;br /&gt;       process.call(context, item);&lt;br /&gt;&lt;br /&gt;       if (items.length &amp;gt; 0){&lt;br /&gt;           setTimeout(arguments.callee, 100);&lt;br /&gt;       }&lt;br /&gt;   }, 100);&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;注意这种方法要比只保存一个索引安全的多，因为数组的内容在下次计时器生效之前可能会发生变化。&lt;br /&gt;&lt;br /&gt;这里提到的chunk()函数，只是优化循环性能的一个起点。你可以根据需要不断改进它，让它拥有更多的功能。比如说，在数组中所有对象都处理完成以后，可以增加一个函数回调。无论你是否会按照这种方式对函数进行修改，这只是一种JavaScript的代码开发模式，可以帮助优化数组的处理性能，还可以避免那个脚本失控的警告。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-4221404868131342787?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=4221404868131342787' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4221404868131342787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4221404868131342787'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/speed-up-your-javascript-part-1.html' title='如何提升JavaScript的运行速度（循环篇）'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-5348657429252094790</id><published>2009-01-23T21:07:00.008+08:00</published><updated>2009-01-23T21:20:01.363+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>浏览器根据什么来判定脚本失控？</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;在&lt;/span&gt;Web开发的时候，经常会遇到的一种情况就是浏览器提示脚本运行时间过长，停止还是继续，无论你选择什么，相信你都会想尽一切办法让这个对话框远离你的用户们。可你是否知道，这些不同的浏览器究竟是如何判断，哪些脚本处于“失控”状态么？本文作者，就从Internet Explorer、Firefox、Safari、Chrome和Opera五种浏览器，分析了这个情况出现的原因。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a target="_blank" href="http://www.nczonline.net/blog/2009/01/05/what-determines-that-a-script-is-long-running/"&gt;What determines that a script is long-running?&lt;/a&gt;&lt;br /&gt;【原文作者】&lt;a target="_blank" href="http://www.nczonline.net/about/"&gt;Nicholas C. Zakas&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Web开发者经常遇到并必须及时处理的问题就是“提示脚本运行时间过长的提示框”（或者称为“失控脚本提示”），这些令人讨厌的对话框会在你的脚本 执行时间过长的时候出现。对于Web开发者的基本准则就是，无论什么时候，都不要让用户看到这些对话框，因为这会给人一种代码缺乏结构化的印象，更简单的 说，你的代码负担太重了。&lt;/p&gt; &lt;p&gt;用Brendan Eich（JavaScript的发明人）的话来讲，如果JavaScript运行的时间需要用秒来计算，一定是什么地方搞错了。我个人可以忍受的上限可 能更小一些，不论什么脚本，在任何时间、任何浏览器上执行，都不应该超过100毫秒。如果实际执行的时间长于这个底限，一定要将进程分解成若干更小的代码 段。&lt;/p&gt; &lt;p&gt;另外，其实很少有人真正意识到究竟是什么原因导致脚本在不同的浏览器中运行时间过长，连我自己都没有深究过。所以我决定坐下来好好研究一下，我们究 竟会在什么情况才会看到那个讨厌的对话框。判断脚本是否失控，无外乎就两种方法。一种是根据执行了多少条语句，一种是判断脚本执行花费的时间。各个浏览器 判断脚本失控的具体方法会有略微的不同。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Internet Explorer&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Internet Explorer判断一个脚本是否失控，主要通过JScript引擎执行语句的总数来判断。默认情况下，这个上限是500万条语句，这个值是可以&lt;a href="http://support.microsoft.com/kb/175500" mce_href="http://support.microsoft.com/kb/175500"&gt;通过注册表修改&lt;/a&gt;的。当你的脚本执行的语句数量超过这个限制，你就会看到下面的窗口。&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.nczonline.net/blog/wp-content/uploads/2009/01/ie_dialog.png" mce_href="http://www.nczonline.net/blog/wp-content/uploads/2009/01/ie_dialog.png"&gt;&lt;img title="IE Long-Running Script Dialog" src="http://www.nczonline.net/blog/wp-content/uploads/2009/01/ie_dialog-300x133.png" mce_src="http://www.nczonline.net/blog/wp-content/uploads/2009/01/ie_dialog-300x133.png" alt="IE Dialog: A script on this page is causing Internet Explorer to run slowly. If it continues to run, your compute may become unresponsive." width="300" border="0" height="133" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;这个对话框提示：“这个页面上有一段脚本导致Internet Explorer运行缓慢，如果你继续运行，你的计算机可能会变为无响应状态”。要不是追求技术上的准确性，这样说确实有点过了。对话框有两个选项，要么 停止脚本执行，要么允许脚本继续运行。当这个对话框显示的时候，脚本已经被完全停止了。如果你选择继续运行脚本，就会重新计算当前执行的语句数，也就是 说，如果这个数值再次达到上限时，你会再次看到这个对话框。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Firefox&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Firefox是根据脚本引擎持续执行代码的时间来判断一段脚本是否失控。默认的上限是10秒，可以&lt;a href="http://kb.mozillazine.org/Dom.max_script_run_time" mce_href="http://kb.mozillazine.org/Dom.max_script_run_time"&gt;通过about:config页面来修改这个值&lt;/a&gt;。这里需要注意的是，当弹出类似alert的模式对话框的时候，是不计时的。当浏览器执行脚本的时间达到这个上限，Firefox就会显示类似下面的对话框：&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.nczonline.net/blog/wp-content/uploads/2009/01/firefox_dialog.png" mce_href="http://www.nczonline.net/blog/wp-content/uploads/2009/01/firefox_dialog.png"&gt;&lt;img title="Firefox Long-Running Script Dialog" src="http://www.nczonline.net/blog/wp-content/uploads/2009/01/firefox_dialog-300x80.png" mce_src="http://www.nczonline.net/blog/wp-content/uploads/2009/01/firefox_dialog-300x80.png" alt="Firefox Dialog: A script on this page may be busy, or it may have stopped responding. You can stop the script now, open the script in the debugger, or let the script continue." width="300" border="0" height="80" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Firefox的对话框提示：“这个页面的一段脚本目前运行忙，或者这段脚本已经停止响应。你可以停止执行这段脚本，并在调试器中打开这段脚本，或 者保持这段脚本继续运行”。更清楚的描述了遇到的问题，并且没有IE说的那么恐怖。在这个对话框上可以执行三种操作：停止脚本执行、调试脚本或者让脚本继 续运行。和Internet Explorer一样，当运行脚本继续运行以后，对持续运行脚本时间的统计就会重置。调试脚本按钮，只有在你安装了Firebug，并在该页面激活了调试 的时候才会出现。执行调试脚本操作后，可以显示执行时间过长的代码段的具体位置。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Safari&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Safari同样根据脚本引擎持续执行脚本的时间来判断，当我对&lt;a href="http://trac.webkit.org/changeset/14904#file4" mce_href="http://trac.webkit.org/changeset/14904#file4"&gt;Webkit的源代码&lt;/a&gt;进行反复研究后，发现默认的超时时间是5秒，一旦达到这个上限，就会给出下面的对话框提示：&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.nczonline.net/blog/wp-content/uploads/2009/01/safari_dialog.png" mce_href="http://www.nczonline.net/blog/wp-content/uploads/2009/01/safari_dialog.png"&gt;&lt;img title="Safari Long-Running Script Dialog" src="http://www.nczonline.net/blog/wp-content/uploads/2009/01/safari_dialog-300x130.png" mce_src="http://www.nczonline.net/blog/wp-content/uploads/2009/01/safari_dialog-300x130.png" alt="Safari Dialog: A script on the page [url] is making Safari unresponsive. Do you want to continue running the script, or stop it?" width="300" border="0" height="130" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;对话框提示：“在页面url上的脚本让Safari失去响应，你是要继续运行脚本还是终止脚本”。同样的，对于用户来说，也不是什么可怕的提示。在Safari中，可以&lt;a href="http://developer.apple.com/DOCUMENTATION/AppleApplications/Conceptual/Safari_Developer_Guide/2SafariDeveloperTools/chapter_2_section_3.html#//apple_ref/doc/uid/TP40007874-CH3-DontLinkElementID_15" mce_href="http://developer.apple.com/DOCUMENTATION/AppleApplications/Conceptual/Safari_Developer_Guide/2SafariDeveloperTools/chapter_2_section_3.html#//apple_ref/doc/uid/TP40007874-CH3-DontLinkElementID_15"&gt;关闭失控脚本的检测功能&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Chrome&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Chrome在跟踪技术上有点狡猾，失控脚本检测功能似乎和tab的事故控制（crash control）关联到一起。我仔细看了源代码，却没有找到具体的限制，但基本确定的是，这个限制是以时间为基础的，估计在10秒左右（要么是5秒，要么 是10秒，总要和Safari或者Firefox看齐么）。我正在联系Chrome项目组中的朋友，看看能不能得到确定的信息。尽管如此，如果网页中存在 失控的脚本，用户还是会看到下面的对话框：&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.nczonline.net/blog/wp-content/uploads/2009/01/chrome_dialog.png" mce_href="http://www.nczonline.net/blog/wp-content/uploads/2009/01/chrome_dialog.png"&gt;&lt;img title="Chrome Long-Running Script Dialog" src="http://www.nczonline.net/blog/wp-content/uploads/2009/01/chrome_dialog-300x171.png" mce_src="http://www.nczonline.net/blog/wp-content/uploads/2009/01/chrome_dialog-300x171.png" alt="Chrome Dialog: The following page(s) have become unresponsive. You can wait for them to become responsive or kill them." width="300" border="0" height="171" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;毫无疑问，Chrome的提示比起其他浏览器来说，显得都更加严重。点击“Wait”按钮，脚本会继续运行，直到达到下一个上限为止，也可以点击“Kill pages”，直接关闭该页面在内存中的所有信息，并用一个空白页取而代之。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Opera&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Opera的情况比较有趣：他貌似没有针对失控脚本的相应限制。我运行了几个很长的测试，甚至花了几分钟，而在这个过程中，浏览器一直可以正常响应，这很出我的意料之外。我不是很确定，对于现在的情况来说，这个方法是好是坏，但至少它生效了，不是么？&lt;/p&gt; &lt;p&gt;&lt;strong&gt;一些建议&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;无论你的用户使用什么浏览器，都不应该在任何时候看到类似的提示。在你的网站或者Web应用程序作为产品发布之前，做一些常规的性能测试是非常有必要的。在这方面有很多工具可以加以利用，比如&lt;a href="http://getfirebug.com/js.html" mce_href="http://getfirebug.com/js.html"&gt;Firebug’s profiler&lt;/a&gt;（只支持Firefox）、&lt;a href="http://developer.yahoo.com/yui/profiler/" mce_href="http://developer.yahoo.com/yui/profiler/"&gt;YUI Profiler&lt;/a&gt; （支持全部浏览器）或者&lt;a href="http://msdn.microsoft.com/en-us/library/cc848895%28VS.85%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc848895%28VS.85%29.aspx"&gt;Internet Explorer 8’s Profiler&lt;/a&gt;。 你应该毫不犹豫地将那些执行时间超过100毫秒的脚本找出来，哪怕这些脚本只是在某些浏览器上运行不畅，这些脚本包含了一些需要执行很长时间的代码段，而 这些代码应该通过性能检测工具进行重新评估。确保你不是使用Chrome作为测试的底线，因为Chrome在执行JavaScript的速度上比其他浏览 器要高出一个数量级（和Firefox 3.1还有最新的WebKit Nightly相当）。最好使用Internet Explorer作为测试的底线，然后再测试其他浏览器，因为无论什么时候，IE的JavaScript引擎都是最慢的，当在IE上修复问题以后，十有八 九在其他浏览器上也可以正常运行了。&lt;/p&gt;&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-5348657429252094790?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=5348657429252094790' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/5348657429252094790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/5348657429252094790'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/what-determines-script-long-running.html' title='浏览器根据什么来判定脚本失控？'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-339529693105139255</id><published>2009-01-22T20:08:00.027+08:00</published><updated>2009-01-22T20:53:51.622+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>JavaScript的2008，棒极了！</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;2&lt;/span&gt;008年，对于JavaScript来说是非常振奋人心的一年，很多高人加入到JavaScript和Web开发的阵营中来，浏览器厂商在技术上互相竞争，渲染引擎和JavaScript解释引擎的性能不断提高，越来越多的人开发出各种基于JavaScript的神奇演示，让更多的人了解JavaScript的魅力所在。这篇是一个小结，也预示着一个更加辉煌的2009的开始。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a target="_blank" href="http://blog.nihilogic.dk/2009/01/2008-year-of-awesome-javascript.html"&gt;2008 - A Year of Awesome JavaScript&lt;/a&gt;&lt;br /&gt;【原文作者】Jacob Seidelin&lt;br /&gt;&lt;br /&gt;如果对JavaScript感兴趣，建议点开文中提到的所有链接，实际试验一下效果，但需要注意的是，一定要使用Firefox 3.1或者其他浏览器的最新版本，如果使用Firefox记得打开tracemonkey，否则有的效果会很慢的，也不要同时打开两个实验窗口，有可能会造成浏览器死机。还有，相当一部分链接需要翻墙。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;对于JavaScript来说，2008是伟大的一年，因为有很多牛人加入到了JavaScript、Canvas元素和Web的开发中来。浏览器 供应商也在互相竞争，试图在JavaScript的性能方面超越对手，而最大的受益者当然是开发者和最终用户，因为现在可以开发出一些非常棒的东西，而这 些东西在以前简直就是不可想象的。下面是一个列表，都是我在整个2008年中关注过，基于JavaScript开发的产品。&lt;/p&gt; &lt;strong&gt;游戏&lt;/strong&gt; &lt;p&gt;对于JavaScript游戏来说，2008年是非常重要的一年。基于DHTML和Canvas的游戏，在某些方面已经撼动了Flash的霸主地位。很多以前经典的电视游戏已经被通过这种方式移植了，比如：&lt;a href="http://jsmario.com.ar/" mce_href="http://jsmario.com.ar/" target="_blank"&gt;超级玛丽&lt;/a&gt;、&lt;a href="http://www.harryguillermo.com/" mce_href="http://www.harryguillermo.com/" target="_blank"&gt;吃豆人&lt;/a&gt;、&lt;a href="http://billmill.org/static/canvastutorial/" mce_href="http://billmill.org/static/canvastutorial/" target="_blank"&gt;Breakout&lt;/a&gt;、&lt;a href="http://matthaynes.net/blog/2008/08/03/javascript-space-invaders/" mce_href="http://matthaynes.net/blog/2008/08/03/javascript-space-invaders/" target="_blank"&gt;小蜜蜂&lt;/a&gt;、&lt;a href="http://www.e-forum.ro:8080/dynagame/index" mce_href="http://www.e-forum.ro:8080/dynagame/index" target="_blank"&gt;炸弹人&lt;/a&gt;和&lt;a href="http://jonraasch.com/blog/jquery-video-game-remake-tc-surf-designs" mce_href="http://jonraasch.com/blog/jquery-video-game-remake-tc-surf-designs" target="_blank"&gt;T&amp;amp;C Surf Designs&lt;/a&gt;等。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhjleyaGUI/AAAAAAAAAA0/z3WwjOZ3I-4/s1600-h/invaders_screenshot.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 324px;" src="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhjleyaGUI/AAAAAAAAAA0/z3WwjOZ3I-4/s400/invaders_screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5294090857544816962" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;另外还有些人，按照自己的想法，对一些传统的游戏进行了扩展，演变出一些新的小游戏，比如：Matt Hackett开发的&lt;a href="http://scriptnode.com/lab/spacius/" mce_href="http://scriptnode.com/lab/spacius/" target="_blank"&gt;Spacius&lt;/a&gt;、Mark  Wilcox开发的&lt;a href="http://www.rebelideas.co.uk/proto/test/" mce_href="http://www.rebelideas.co.uk/proto/test/" target="_blank"&gt;Invaders from Mars&lt;/a&gt;、VertigoProject开发的&lt;a href="http://www.vertigo-project.com/projects/redline-game" mce_href="http://www.vertigo-project.com/projects/redline-game" target="_blank"&gt;RedLine Racing&lt;/a&gt;和这个俄罗斯方块的变种版本&lt;a href="http://www.reenigne.org/tet4/" mce_href="http://www.reenigne.org/tet4/" target="_blank"&gt;Tetris game&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXhjx58P8mI/AAAAAAAAAA8/eDhdUpiL-qg/s1600-h/spacius.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXhjx58P8mI/AAAAAAAAAA8/eDhdUpiL-qg/s400/spacius.png" alt="" id="BLOGGER_PHOTO_ID_5294091070992282210" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;我们也找到一些角色扮演类游戏，比如&lt;a href="http://www.icculus.org/asciiroth/" mce_href="http://www.icculus.org/asciiroth/" target="_blank"&gt;Tombs of Asciiroth&lt;/a&gt;，而Andrew Wooldridge开发的&lt;a href="http://www.andrewwooldridge.com/canvas/canvasquest/canvasquest.html" mce_href="http://www.andrewwooldridge.com/canvas/canvasquest/canvasquest.html" target="_blank"&gt;CanvasQuest&lt;/a&gt;显得更加图形化些，它的Prototype引擎是构建在Pierre Chassaing开发的&lt;a href="http://www.protorpg.com/" mce_href="http://www.protorpg.com/" target="_blank"&gt;ProtoRPG&lt;/a&gt;基础上的，虽然这些游戏现在还在测试中，而且现在的演示版看起来比较粗糙，但我们有理由相信，有一天他们会完善出一个非常棒的版本出来。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhkAqetMtI/AAAAAAAAABE/ahs9j0w4BZM/s1600-h/protorpg.png"&gt;&lt;img style="cursor: pointer; width: 352px; height: 352px;" src="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhkAqetMtI/AAAAAAAAABE/ahs9j0w4BZM/s400/protorpg.png" alt="" id="BLOGGER_PHOTO_ID_5294091324539876050" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;在2008年，也有几个面向JavaScript/DHTML游戏开发的类库面世，其中最抢眼的莫过于&lt;a href="http://www.tommysmind.com/gamejs/" mce_href="http://www.tommysmind.com/gamejs/" target="_blank"&gt;GameJS&lt;/a&gt;（旁边的截图就是基于这个类库开发的游戏Jetris）和&lt;a href="http://gamequery.onaluf.org/" mce_href="http://gamequery.onaluf.org/" target="_blank"&gt;GameQuery&lt;/a&gt;了，后者是著名的JavaScript类库jQuery的一个扩展。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9Xr1fM9gUIo/SXhkNZ4gUOI/AAAAAAAAABM/eUQ_lEdwXkM/s1600-h/gamejs-jetris.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 351px;" src="http://4.bp.blogspot.com/_9Xr1fM9gUIo/SXhkNZ4gUOI/AAAAAAAAABM/eUQ_lEdwXkM/s400/gamejs-jetris.png" alt="" id="BLOGGER_PHOTO_ID_5294091543422980322" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;最后，我们还要留意一个伟大的游戏&lt;a href="http://www.p01.org/releases/DHTML_contests/files/DEFENDER_of_the_favicon/" mce_href="http://www.p01.org/releases/DHTML_contests/files/DEFENDER_of_the_favicon/" target="_blank"&gt;DEFENDER of the favicon&lt;/a&gt;，这个伟大可不是指尺寸哟。Mathieu 'p01' Henri把上个实际八十年代推出的Defender游戏压缩到了浏览器的favicon图标中，就是那个16*16的png图像，听到这个感觉怎样？神奇么？&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXhkXdhh8WI/AAAAAAAAABU/jQX3KhWRmFI/s1600-h/defender-of-the-favicon.png"&gt;&lt;img style="cursor: pointer; width: 197px; height: 120px;" src="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXhkXdhh8WI/AAAAAAAAABU/jQX3KhWRmFI/s400/defender-of-the-favicon.png" alt="" id="BLOGGER_PHOTO_ID_5294091716199051618" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;strong&gt;演示&lt;/strong&gt; &lt;p&gt;现在大部分的浏览器（开发这些浏览器的公司没有叫微软的，IE还不支持）已经支持了Canvas元素。这就意味着当我们以后要在浏览器中创建动态的图片时，将会有更多的选择。当然也会有更多的人，会乐此不疲的展示他们创建动态图片这项疯狂的技术，呵呵。其中有些人创建了&lt;a href="http://a1k0n.net/code/flag.html" mce_href="http://a1k0n.net/code/flag.html"&gt;短小精炼的例子&lt;/a&gt;，来展示Canvas强大的能力。另外一些人走的更远，比如Matt Westcott就建立了一个&lt;a href="http://a1k0n.net/code/flag.html" mce_href="http://a1k0n.net/code/flag.html"&gt;反社会的演示&lt;/a&gt;，来讽刺现在流行的社会网络，而这个演示完全是通过一个小工具制作的。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhkjhW1b1I/AAAAAAAAABc/WOHeNu577kM/s1600-h/antisocial.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 245px;" src="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhkjhW1b1I/AAAAAAAAABc/WOHeNu577kM/s400/antisocial.png" alt="" id="BLOGGER_PHOTO_ID_5294091923386363730" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;还有一些人，包括Mathieu  'p01' Henri在内，一整年都在制作一些非常短小精悍的内容，而这些小代码可以做出非常棒的效果，比如这几个：&lt;a href="http://www.p01.org/releases/Demoscene/files/rubber_256b_javascript.htm" mce_href="http://www.p01.org/releases/Demoscene/files/rubber_256b_javascript.htm" target="_blank"&gt;Rubber effect&lt;/a&gt;、&lt;a href="http://www.p01.org/releases/Demoscene/files/tunnex_256b_javascript.htm" mce_href="http://www.p01.org/releases/Demoscene/files/tunnex_256b_javascript.htm" target="_blank"&gt;Tunnex&lt;/a&gt;、&lt;a href="http://www.p01.org/releases/Demoscene/files/mars_canvas_256b.htm" mce_href="http://www.p01.org/releases/Demoscene/files/mars_canvas_256b.htm" target="_blank"&gt;Mars&lt;/a&gt;。每个演示，所有代码加起来，都不超过256字节！&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9Xr1fM9gUIo/SXhkt2-29EI/AAAAAAAAABk/6KbUYKPk4AM/s1600-h/mars.png"&gt;&lt;img style="cursor: pointer; width: 300px; height: 150px;" src="http://4.bp.blogspot.com/_9Xr1fM9gUIo/SXhkt2-29EI/AAAAAAAAABk/6KbUYKPk4AM/s400/mars.png" alt="" id="BLOGGER_PHOTO_ID_5294092100990071874" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;如果这还不过瘾，可以到&lt;a href="http://www.ozoneasylum.com/" mce_href="http://www.ozoneasylum.com/" target="_blank"&gt;Ozone Asylum&lt;/a&gt;见识一下，Mathieu Henri在这里通过Canvas元素创建了很多20行的小视频，每一个都可以为你带来非常强烈的视觉效果，比如：&lt;a href="http://www.p01.org/releases/DHTML_contests/files/20lines_dynamic_hypnoglow/" mce_href="http://www.p01.org/releases/DHTML_contests/files/20lines_dynamic_hypnoglow/" target="_blank"&gt;Dynamic Hypnoglow&lt;/a&gt;、&lt;a href="http://www.p01.org/releases/DHTML_contests/files/20lines_twinkle/" mce_href="http://www.p01.org/releases/DHTML_contests/files/20lines_twinkle/" target="_blank"&gt;Twinkle&lt;/a&gt;和&lt;a href="http://www.p01.org/releases/DHTML_contests/files/20lines_hypno_trip_down_the_fractal_rug/" mce_href="http://www.p01.org/releases/DHTML_contests/files/20lines_hypno_trip_down_the_fractal_rug/" target="_blank"&gt;Hypno Trip Down the Fractal Rug&lt;/a&gt;。这些小视频同样给很多人带来了新的灵感，创作出了一些更好的效果，比如：&lt;a href="http://www.kaarellumi.com/asylum/html/dyn4.htm" mce_href="http://www.kaarellumi.com/asylum/html/dyn4.htm" target="_blank"&gt;colliding  balls&lt;/a&gt;、&lt;a href="http://www.kaarellumi.com/asylum/html/dyn10.htm" mce_href="http://www.kaarellumi.com/asylum/html/dyn10.htm" target="_blank"&gt;3D cube  effect&lt;/a&gt;和&lt;a href="http://www.kaarellumi.com/asylum/html/dyn8.htm" mce_href="http://www.kaarellumi.com/asylum/html/dyn8.htm" target="_blank"&gt;dynamically generated BMP flames&lt;/a&gt;等。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhk5_5YS_I/AAAAAAAAABs/FI2o84B2c5Q/s1600-h/hypno-trip.png"&gt;&lt;img style="cursor: pointer; width: 388px; height: 388px;" src="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhk5_5YS_I/AAAAAAAAABs/FI2o84B2c5Q/s400/hypno-trip.png" alt="" id="BLOGGER_PHOTO_ID_5294092309541440498" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;在Asylum上，大家甚至开发出了20行JavaScript代码写成的游戏，从&lt;a href="http://weibell.de/javascript/20lines/lunar-lander/" mce_href="http://weibell.de/javascript/20lines/lunar-lander/" target="_blank"&gt;Lunar Lander&lt;/a&gt;到&lt;a href="http://magnetiq.com/bd20/" mce_href="http://magnetiq.com/bd20/" target="_blank"&gt;Boulderdash clone&lt;/a&gt;，甚至还有一个&lt;a href="http://www.p01.org/releases/DHTML_contests/files/20lines_castle_wolfenstein/" mce_href="http://www.p01.org/releases/DHTML_contests/files/20lines_castle_wolfenstein/" target="_blank"&gt;homage to Wolfenstein 3D&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhlD0JckII/AAAAAAAAAB0/7ta8_w3rkhA/s1600-h/boulderdash.png"&gt;&lt;img style="cursor: pointer; width: 240px; height: 240px;" src="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhlD0JckII/AAAAAAAAAB0/7ta8_w3rkhA/s400/boulderdash.png" alt="" id="BLOGGER_PHOTO_ID_5294092478186295426" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;strong&gt;三维&lt;/strong&gt; &lt;p&gt;到目前为止，尽管Mozilla和Opera的开发团队都在尝试启用硬件加速功能，但canvas元素还是只能支持2D图像。但这决不意味着现在不能生成3D图像。我们从类似&lt;a href="http://www.pascarello.com/canvas/KeyBoard3DCube.html" mce_href="http://www.pascarello.com/canvas/KeyBoard3DCube.html" target="_blank"&gt;basic  3D cubes&lt;/a&gt;和&lt;a href="http://acko.net/blog/projective-texturing-with-canvas" mce_href="http://acko.net/blog/projective-texturing-with-canvas" target="_blank"&gt;texturing experiments&lt;/a&gt;这样的例子中完全可以得出&lt;a href="http://lbi.lostboys.nl/blog/artikelen/canvas-in-full-3d/" mce_href="http://lbi.lostboys.nl/blog/artikelen/canvas-in-full-3d/" target="_blank"&gt;JavaScript/Canvas 3D engines&lt;/a&gt;已经可以使用的结论。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9Xr1fM9gUIo/SXhlW_IOZHI/AAAAAAAAAB8/77uHHzMVq1w/s1600-h/projective-transform.png"&gt;&lt;img style="cursor: pointer; width: 364px; height: 325px;" src="http://4.bp.blogspot.com/_9Xr1fM9gUIo/SXhlW_IOZHI/AAAAAAAAAB8/77uHHzMVq1w/s400/projective-transform.png" alt="" id="BLOGGER_PHOTO_ID_5294092807551476850" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;我们还可以留意那些基于&lt;a href="http://wiioperasdk.com/index2.php" mce_href="http://wiioperasdk.com/index2.php" target="_blank"&gt;Wii Opera SDK&lt;/a&gt;（这东西不止应用在Opera或者Wii上）开发的效果，当然还有&lt;a href="http://blog.nihilogic.dk/search/label/3d" mce_href="http://blog.nihilogic.dk/search/label/3d"&gt;Nihilogic编写的3D演示&lt;/a&gt;。&lt;/p&gt; &lt;strong&gt;模拟器&lt;/strong&gt; &lt;p&gt;JavaScript的性能越来越好，这已经是一个不争的事实，一个典型的证据就是我们现在甚至可以在浏览器上模拟其他系统。Matt Westcott（前面提到过他写的一个演示）在这里又给大家带来了一个惊喜：&lt;a href="http://matt.west.co.tt/spectrum/jsspeccy/" mce_href="http://matt.west.co.tt/spectrum/jsspeccy/"&gt;JSSPeccy&lt;/a&gt;，一个&lt;a href="http://en.wikipedia.org/wiki/ZX_Spectrum" mce_href="http://en.wikipedia.org/wiki/ZX_Spectrum"&gt;ZX Spectrum&lt;/a&gt;模拟器，这东西棒极了。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXhl1rVo0uI/AAAAAAAAACE/KXocTeTsEag/s1600-h/jsspeccy.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 306px;" src="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXhl1rVo0uI/AAAAAAAAACE/KXocTeTsEag/s400/jsspeccy.png" alt="" id="BLOGGER_PHOTO_ID_5294093334814970594" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;James Urquhart也做了一些尝试，建立了一个&lt;a href="http://www.cuppadev.co.uk/oldbrew/scumm-in-javascript/" mce_href="http://www.cuppadev.co.uk/oldbrew/scumm-in-javascript/" target="_blank"&gt;SCUMM interpreter&lt;/a&gt;的雏形，也许用他现在还不能玩疯狂时代（Day of the Tentacle）或者疯狂大楼（Maniac Mansion），但至少可以让你看到一些开放任务（OpenQuest）。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9Xr1fM9gUIo/SXhoSHuxdOI/AAAAAAAAADE/hjZ7dfYY-YA/s1600-h/hiscumm_js.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 290px;" src="http://4.bp.blogspot.com/_9Xr1fM9gUIo/SXhoSHuxdOI/AAAAAAAAADE/hjZ7dfYY-YA/s400/hiscumm_js.png" alt="" id="BLOGGER_PHOTO_ID_5294096022496179426" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;我个人的最爱则是António Afonso开发的&lt;a href="http://blog.nihilogic.dk/2008/06/sierra-agi-interpreter-in-javascript.html" mce_href="http://blog.nihilogic.dk/2008/06/sierra-agi-interpreter-in-javascript.html" target="_blank"&gt;JavaScript AGI interpreter&lt;/a&gt;，AGI是Sierra在冒险游戏的鼎盛时期所使用的系统，当António开发出这个可以用的模拟器后，我简直就是爱不释手。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9Xr1fM9gUIo/SXhmE7QFWwI/AAAAAAAAACM/H1yekuE9ung/s1600-h/javascript-agi-interpreter.png"&gt;&lt;img style="cursor: pointer; width: 200px; height: 104px;" src="http://3.bp.blogspot.com/_9Xr1fM9gUIo/SXhmE7QFWwI/AAAAAAAAACM/H1yekuE9ung/s400/javascript-agi-interpreter.png" alt="" id="BLOGGER_PHOTO_ID_5294093596784679682" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;strong&gt;图像&lt;/strong&gt; &lt;p&gt;John Resig开发的JavaScript的进程接口：&lt;a href="http://dev.jquery.com/%7Ejohn/processing.js/" mce_href="http://dev.jquery.com/~john/processing.js/" target="_blank"&gt;Processing.js&lt;/a&gt;，可能是这一年中给我印象最深刻的创造之一了，尤其是那数以百计，绚丽夺目的演示。Aza Raskin开发的&lt;a href="http://azarask.in/projects/algorithm-ink/" mce_href="http://azarask.in/projects/algorithm-ink/" target="_blank"&gt;Algorithm  Ink&lt;/a&gt;也有着类似的功能，这是一个JavaScript/Canvas接口，基于各种规则和命令建立图像。当然除了这些还有很多，比如Eitan Suez很喜欢Turtle，一个Pascal下的图形开发工具，于是他用JavaScript重写了这个工具：&lt;a href="http://u2d.com/turtle_js/index.html" mce_href="http://u2d.com/turtle_js/index.html" target="_blank"&gt;TurtleJS&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXhmU81DzMI/AAAAAAAAACU/1SMwgj9rQ1c/s1600-h/processing.png"&gt;&lt;img style="cursor: pointer; width: 255px; height: 251px;" src="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXhmU81DzMI/AAAAAAAAACU/1SMwgj9rQ1c/s400/processing.png" alt="" id="BLOGGER_PHOTO_ID_5294093872086109378" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;还有一些数学偏执狂，使用JavaScript实现了一些碎片效果。首先是p01用&lt;a href="http://www.ozoneasylum.com/30330" mce_href="http://www.ozoneasylum.com/30330"&gt;137个字节的DHTML&lt;/a&gt;绘制了一幅&lt;a href="http://en.wikipedia.org/wiki/Mandelbrot_set" mce_href="http://en.wikipedia.org/wiki/Mandelbrot_set"&gt;Mandelbrot set&lt;/a&gt;，这段代码引发了一个小竞赛，有人写了一个&lt;a href="http://blog.nihilogic.dk/2008/09/mandelbrot-in-less-than-128-bytes-of.html" mce_href="http://blog.nihilogic.dk/2008/09/mandelbrot-in-less-than-128-bytes-of.html"&gt;不到128字节的版本&lt;/a&gt;，最终胜出的是&lt;a href="http://www.p01.org/releases/Demoscene/files/mandelbrot_111b.htm" mce_href="http://www.p01.org/releases/Demoscene/files/mandelbrot_111b.htm"&gt;111字节版本&lt;/a&gt;。Oliver Hunt建立了一个更漂亮的&lt;a href="http://www.nerget.com/mandelbrot.html" mce_href="http://www.nerget.com/mandelbrot.html"&gt;图形版本&lt;/a&gt;，&lt;a href="http://blog.nihilogic.dk/2008/10/23-pretty-javascript-fractals.html" mce_href="http://blog.nihilogic.dk/2008/10/23-pretty-javascript-fractals.html"&gt;我也做了一个&lt;/a&gt;，Russ Hall甚至做了一个&lt;a href="http://2tap.com/2008/12/18/jsfractal-javascript-fractal-explorer/" mce_href="http://2tap.com/2008/12/18/jsfractal-javascript-fractal-explorer/"&gt;完整的演示版&lt;/a&gt;。（译者注：这里需要相当的数学知识，可以参考wikipedia的说明，否则就只能感叹效果的华丽和字节的精简了）&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXhmiY5tM_I/AAAAAAAAACc/iL1tM_Nf0fs/s1600-h/jsfractal.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 348px;" src="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXhmiY5tM_I/AAAAAAAAACc/iL1tM_Nf0fs/s400/jsfractal.png" alt="" id="BLOGGER_PHOTO_ID_5294094102960092146" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;strong&gt;音频&lt;/strong&gt; &lt;p&gt;在HTML5正式支持音频元素之前，大部分人都是使用基于Flash音频的方式实现类似的功能，但这不意味着是我们的唯一选择，我们可以使用JavaScript做出各种稀奇古怪的声音。比如说，可以看看Cameron写的&lt;a href="http://www.themaninblue.com/writing/perspective/2008/11/17/" mce_href="http://www.themaninblue.com/writing/perspective/2008/11/17/" target="_blank"&gt;JS-909 drum machine&lt;/a&gt;，当然这东西依赖于Quicktime，但就算这样也很棒，不是么？&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhmt-uwjdI/AAAAAAAAACk/Kbo3owpG12M/s1600-h/javascript-drum-machine.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 215px;" src="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhmt-uwjdI/AAAAAAAAACk/Kbo3owpG12M/s400/javascript-drum-machine.png" alt="" id="BLOGGER_PHOTO_ID_5294094302093282770" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;或者我们可以动态&lt;a href="http://sk89q.therisenrealm.com/2008/11/dynamically-generating-a-wav-in-javascript/" mce_href="http://sk89q.therisenrealm.com/2008/11/dynamically-generating-a-wav-in-javascript/"&gt;生成并播放WAV&lt;/a&gt;文件，就像sk89q写的那样，听得同时，我们还可以再&lt;a href="http://d.hatena.ne.jp/brazil/20071003/1191381382" mce_href="http://d.hatena.ne.jp/brazil/20071003/1191381382"&gt;生成点MIDI&lt;/a&gt;玩玩。&lt;/p&gt; &lt;strong&gt;拾遗&lt;/strong&gt; &lt;p&gt;除了图像和音频文件，我们还可以生成其他类型的文件。用一个短小精悍的类库&lt;a href="http://d.hatena.ne.jp/amachang/20081130/1228029751" mce_href="http://d.hatena.ne.jp/amachang/20081130/1228029751"&gt;生成ZIP文件&lt;/a&gt;，这个主意听起来怎么样呢？&lt;/p&gt; &lt;p&gt;你认为CSS现在都可以做什么？是不是只有设置字体或者排列div？答案当然是否定的，至少Román Cortés就像我们展示了一张完全&lt;a href="http://www.romancortes.com/blog/homer-css/" mce_href="http://www.romancortes.com/blog/homer-css/"&gt;用CSS制作的荷马·辛普森照片&lt;/a&gt;，只要你的CSS基础足够强，也可以做一张哟。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9Xr1fM9gUIo/SXhm84fR-tI/AAAAAAAAACs/nOltBnbz-R8/s1600-h/homer-css.png"&gt;&lt;img style="cursor: pointer; width: 331px; height: 400px;" src="http://3.bp.blogspot.com/_9Xr1fM9gUIo/SXhm84fR-tI/AAAAAAAAACs/nOltBnbz-R8/s400/homer-css.png" alt="" id="BLOGGER_PHOTO_ID_5294094558115789522" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Ernest Delgado将我写的Mario Kart演示和OpenStreetMap结合在了一起，衍生出一个&lt;a href="http://ernestdelgado.com/public-tests/canvas-gpsmap/" mce_href="http://ernestdelgado.com/public-tests/canvas-gpsmap/"&gt;新的非常棒的演示&lt;/a&gt;，类似于汽车上的GPS导航系统。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXhnv-ivKRI/AAAAAAAAAC8/cEog8NGaOcI/s1600-h/Snap1.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 195px;" src="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXhnv-ivKRI/AAAAAAAAAC8/cEog8NGaOcI/s400/Snap1.jpg" alt="" id="BLOGGER_PHOTO_ID_5294095435914225938" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;最后，向你推荐&lt;a href="http://www.themaninblue.com/experiment/Cubescape/new.php" mce_href="http://www.themaninblue.com/experiment/Cubescape/new.php" target="_blank"&gt;Cubescape&lt;/a&gt;，一个漂亮有趣的玩具。你可以通过通过各种颜色的小方块，绘制出一幅漂亮的风景来，一个消磨时间的好办法。&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhnKNsz8tI/AAAAAAAAAC0/qehZagrAe_s/s1600-h/cubescape.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 320px;" src="http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhnKNsz8tI/AAAAAAAAAC0/qehZagrAe_s/s400/cubescape.png" alt="" id="BLOGGER_PHOTO_ID_5294094787147985618" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;这篇文章难免会有一些遗漏，我会在Nihilogi不断做些修补，所以记得定期看看&lt;a href="http://blog.nihilogic.dk/2000/01/archive.html" mce_href="http://blog.nihilogic.dk/2000/01/archive.html"&gt;这里&lt;/a&gt;，确定你没有遗漏什么。祝愿2009年会像2008年一样精彩，其实我真找不出什么2009年不会更好的论据。&lt;/p&gt; &lt;p&gt;你认为2008年什么最精彩呢？&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-339529693105139255?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=339529693105139255' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/339529693105139255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/339529693105139255'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/2008-year-of-awesome-javascript.html' title='JavaScript的2008，棒极了！'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9Xr1fM9gUIo/SXhjleyaGUI/AAAAAAAAAA0/z3WwjOZ3I-4/s72-c/invaders_screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-760229294159214388</id><published>2009-01-22T16:05:00.007+08:00</published><updated>2009-01-22T16:20:19.951+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>修复若干漏洞 - jQuery 1.3.1发布</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;j&lt;/span&gt;Query 1.3是jQuery的一个很重要的里程碑版本，发布的时候John就说，要在最近发布一个bug修复版本，就是本文提到的1.3.1了，没有功能上的重大改变，只是修复了若干&lt;a href="http://dev.jquery.com/report/30"&gt;漏洞&lt;/a&gt;。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a target="_blank" href="http://blog.jquery.com/2009/01/21/jquery-131-released/"&gt;jQuery 1.3.1 Released&lt;/a&gt;&lt;br /&gt;【原文作者】John Resig&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXgq5_nD9II/AAAAAAAAAAM/UNSuUauhGr4/s1600-h/Snap1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 395px;" src="http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXgq5_nD9II/AAAAAAAAAAM/UNSuUauhGr4/s400/Snap1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5294028537790198914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;以下是对原文的翻译：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;这个版本是针对&lt;a href="http://docs.jquery.com/Release:jQuery%201.3" mce_href="http://docs.jquery.com/Release:jQuery%201.3"&gt;jQuery 1.3&lt;/a&gt;的漏洞修复版本。你可以在&lt;a href="http://dev.jquery.com/report/30" mce_href="http://dev.jquery.com/report/30"&gt;bug tracker&lt;/a&gt;上查看具体修复了哪些漏洞。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;相对于1.3来说，1.3.1只是做了漏洞修补工作，在功能上没有什么重大改变。如果你想对正在使用的jQuery 1.2.6进行升级，建议直接升级到1.3.1这个版本。&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;下载&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.1.min.js" mce_href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.1.min.js"&gt;jQuery 最小化版本&lt;/a&gt; (18kb，使用&lt;a href="http://www.julienlecomte.net/blog/2007/08/13/" mce_href="http://www.julienlecomte.net/blog/2007/08/13/"&gt;Gzipping&lt;/a&gt;压缩)&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.1.js" mce_href="http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.1.js"&gt;jQuery 标准版&lt;/a&gt; (114kb)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;(再过一会，大家也可以直接到Google Code上直接下载jQuery 1.3.1。)&lt;/p&gt;&lt;p&gt;如果你希望从&lt;a href="http://dev.jquery.com/browser" mce_href="http://dev.jquery.com/browser"&gt;Subversion repository&lt;/a&gt;导出这个版本的完整代码，你可以参照&lt;a mce_href="http://blog.jquery.com/2009/01/21/jquery-131-released/Downloading_jQuery#Subversion_.28SVN.29" href="http://blog.jquery.com/2009/01/21/jquery-131-released/Downloading_jQuery#Subversion_.28SVN.29"&gt;下面的说明&lt;/a&gt;，并从下面的地址导出代码：&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;code&gt;svn co http://jqueryjs.googlecode.com/svn/tags/1.3.1&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;一些说明：&lt;/b&gt;&lt;/p&gt;&lt;p&gt;有些朋友可能注意到，在1.3的发布日志上，我们没有提到对Firefox 2进行的测试，认为jQuery已经不支持Firefox 2了。这是一个误会，jQuery现在还是支持Firefox 2的，只是我们在这个版本发布之前就已经做了测试，大家可以在下面查看完整的测试用例。&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="jQuery 1.3.1 by John Resig, on Flickr" href="http://www.flickr.com/photos/jeresig/3216876984/" mce_href="http://www.flickr.com/photos/jeresig/3216876984/"&gt;&lt;img src="http://farm4.static.flickr.com/3375/3216876984_b7ecc2092b_m.jpg" mce_src="http://farm4.static.flickr.com/3375/3216876984_b7ecc2092b_m.jpg" alt="jQuery 1.3.1" height="240" width="144" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;同样的，Safari 2也没有出现在浏览器列表中，但我们确实在1.3发布之前就已经进行了详尽的测试。但有一点很明确，我们正在逐步减少对Safari 2的支持，直至淘汰。这主要是考虑到&lt;a mce_href="http://marketshare.hitslink.com/browser-market-share.aspx?qprid=2" href="http://marketshare.hitslink.com/browser-market-share.aspx?qprid=2"&gt;Safari 2的市场份额已经降至很低的程度&lt;/a&gt;，而且实际上已经被三个不同版本的Safari版本所取代（3.0、3.1和3.2），我们认为已经没有必要再针对这个版本的Safari进行测试了。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;最后一点说明，有些朋友注意到我们不再提供“packed”版本的jQuery（这个版本的jQuery将通过&lt;a href="http://dean.edwards.name/packer/" mce_href="http://dean.edwards.name/packer/"&gt;Dean Edwards’ Packer&lt;/a&gt;进行Base62编码转换）。我们有以下几个理由：&lt;/p&gt;* 打包的脚本非常不方便调试，比用gzip压缩的脚本要困难的多。&lt;br /&gt;* 打包的脚本还无法正常的运行在所有平台上（比如在Adobe AIR和Caja-capable环境中就无法正常运行）。&lt;br /&gt;* 但最重要的，对于用户来说，只是想让脚本的尺寸更小一些而已，但大家可不想看到因为减小尺寸而运行的更慢。无论是直觉，还是测试数据，这一点都可 以很容易发现，虽然打包的脚本在文件尺寸上要比最小化的脚本小，但是总体的加载时间明显要高于最小化的脚本（因为这其中包括了解压缩的步骤）。对于感兴趣 的朋友，可以看看我们对两种脚本加载时间的&lt;a mce_href="http://ejohn.org/blog/library-loading-speed/" href="http://ejohn.org/blog/library-loading-speed/"&gt;测试数据&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;&lt;p&gt;我们提供下载的jQuery最小化版本，是通过&lt;a href="http://developer.yahoo.com/yui/compressor/" mce_href="http://developer.yahoo.com/yui/compressor/"&gt;YUI Compressor&lt;/a&gt;进行压缩的，这种版本应该是在产品中集成jQuery的最佳形式。&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-760229294159214388?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=760229294159214388' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/760229294159214388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/760229294159214388'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/jquery-131-released.html' title='修复若干漏洞 - jQuery 1.3.1发布'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9Xr1fM9gUIo/SXgq5_nD9II/AAAAAAAAAAM/UNSuUauhGr4/s72-c/Snap1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-1095706385698839700</id><published>2009-01-21T01:50:00.006+08:00</published><updated>2009-01-21T03:57:18.320+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Plugins'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>用jQuery插件形式实现的豆瓣小组数据接口</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;豆&lt;/span&gt;瓣开放了很多API，但是到目前为止，还没有和小组相关的接口，无法获取用户的小组信息，也无法获取的小组内的帖子，由于大家都有很多小组，这就造成开发和小组相关的插件的难度。这个jQuery插件的作用就是获取当前登录用户的小组信息。在豆瓣开放和小组相关的接口之前，估计还是有一点作用的。&lt;/p&gt;&lt;div class="fullpost"&gt;添加插件引用：&lt;pre class="source-code"&gt;&lt;code&gt;@require http://cuimingda.googlecode.com/svn/trunk/jquery-plugins/jquery.douban-groups.js&lt;/code&gt;&lt;/pre&gt;调用：&lt;pre class="source-code"&gt;&lt;code&gt;$.douban.groups({&lt;br /&gt;    max : 10,&lt;br /&gt;    load : function(groups) {&lt;br /&gt;        for(i in groups) {&lt;br /&gt;            // groups[i].id&lt;br /&gt;            // groups[i].members&lt;br /&gt;            // groups[i].isAdmin&lt;br /&gt;            // groups[i].name&lt;br /&gt;            // groups[i].imageUrl&lt;br /&gt;            // groups[i].groupUrl&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;});&lt;/code&gt;&lt;/pre&gt;&lt;strong&gt;小组对象的属性&lt;/strong&gt;&lt;br /&gt;id：小组标识，对于豆瓣插件小组，将返回“plugins”。&lt;br /&gt;members：获取小组成员数。&lt;br /&gt;isAdmin：true或者false，该小组是否是自己管理的小组。&lt;br /&gt;name：小组名称，对于豆瓣插件小组，将返回“豆瓣插件”。&lt;br /&gt;imageUrl：小组图片地址，对于豆瓣插件小组，将返回“http://otho.douban.com/icon/g15647-1.jpg”。&lt;br /&gt;groupUrl：小组图片地址，对于豆瓣插件小组，将返回“http://www.douban.com/group/plugin/”。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;写在后面&lt;/strong&gt;&lt;br /&gt;一开始想采用同步的方式获取数据，然后返回一个数组，还是担心会造成阻塞，所以改成异步的，采用重写方法的形式。如果不传参数对象，直接调用，默认的事件会显示在当前页面找到多少个小组对象。&lt;br /&gt;&lt;br /&gt;更新：增加max参数，设置返回的最大记录数。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-1095706385698839700?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=1095706385698839700' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/1095706385698839700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/1095706385698839700'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/douban-group-interface.html' title='用jQuery插件形式实现的豆瓣小组数据接口'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-4207840850667172718</id><published>2009-01-18T20:50:00.006+08:00</published><updated>2009-01-18T22:17:35.442+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>笔记 - 在Ubuntu上安装VirtualBox Guest Additions</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;V&lt;/span&gt;irtualBox Guest Additions是一个安装在Guest上扩展包，可以在很多方面加强Host和Guest之间的沟通，比如双向剪贴板等。安装过程本身不麻烦，但为了将这个扩展包安装到Ubuntu Server 8.1上，我花了整整两天时间，所以决定把这个教训记录下来，甚至为了写这篇笔记，我又重新装了一遍Ubuntu。&lt;/p&gt;&lt;div class="fullpost"&gt;先把这个不麻烦的步骤大概说下，安装好系统以后，在虚拟机窗口菜单选择 设备/安装增强功能，就会直接加载一个ISO到虚拟光驱，运行里面的安装程序就可以。&lt;br /&gt;&lt;br /&gt;本文假设刚刚装完系统，sources.list只留下了指向安装光盘的源。还有，因为我架设服务器就是为了跑LAMP服务器，所以采用了Minimal Install的方式安装的，有些组件需要再安装，大家的情况可能略有不同。&lt;br /&gt;&lt;br /&gt;第一次执行扩展安装程序：&lt;br /&gt;$ sudo mkdir /mnt/cdrom&lt;br /&gt;$ sudo mount /dev/cdrom /mnt/cdrom&lt;br /&gt;$ sudo bash /mnt/cdrom/VBoxLinuxAdditions-x86.run&lt;br /&gt;&lt;br /&gt;可能会给出下列提示，因为有一些依赖的组件没有安装：&lt;br /&gt;VirtualBox 2.0.6 Guest Additions installation&lt;br /&gt;Please install GNU make.&lt;br /&gt;Please install the build and header files for your current Linux kernel.&lt;br /&gt;The current kernel version is 2.6.27.7-server&lt;br /&gt;Please install the GNU compiler.&lt;br /&gt;Problems were found which would prevent the Guest Additions from installing.&lt;br /&gt;Please correct these problems and try again.&lt;br /&gt;&lt;br /&gt;安装需要的组件，然后再次安装扩展：&lt;br /&gt;$ sudo apt-get install make gcc linux-headers-2.6.27.7-server&lt;br /&gt;$ sudo bash /mnt/cdrom/VBoxLinuxAdditions-x86.run&lt;br /&gt;&lt;br /&gt;成功以后的正确提示应该是下面这样的，最后一条错误提示是因为我没有装图形界面，不用管。&lt;br /&gt;VirtualBox 2.0.6 Guest Additions installation&lt;br /&gt;Building the VirtualBox Guest Additions kernel module...&lt;br /&gt;Building the shared folder support kernel module...&lt;br /&gt;Installing the virtualBox Guest Additions...&lt;br /&gt;Could not find X.org or XFree86 on the guest system. The X window drivers will not be installed.&lt;br /&gt;&lt;br /&gt;如果提示不是这个，通常是编译扩展包的时候发生错误，我遇到的所有情况都是在VirtualBox 1.6x出现的，Ubuntu Server 8.1的内核是2.6.27，使用这个内核编译VirtualBox 1.6x带的扩展包VBoxLinuxAdditions.run，编译基本上会出错。解决的办法就是将VirtualBox升级到2.x，用新的VBoxLinuxAdditions-x86.run安装就不会有问题了。&lt;br /&gt;&lt;br /&gt;这里可能要问，为什么使用VirtualBox 2.0.6，而不是2.1.0。VirtualBox 2.1.0重写了NAT网络连接方式，很明显还不稳定，至少在我这个老本子加XP的组合上，在apt-get update的时候，时断时续，而且经常会导致虚拟机占用100% CPU，所以还是采用之前最近的版本2.0.6比较稳妥。我也就是在1.6x和2.1.0的来回换中，度过了两天的光阴。&lt;br /&gt;&lt;br /&gt;我的环境：&lt;br /&gt;* Host - Windows XP SP3&lt;br /&gt;* Guest - Ubuntu Server 8.1&lt;br /&gt;* VirtualBox 2.0.6&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-4207840850667172718?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=4207840850667172718' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4207840850667172718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4207840850667172718'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/virtualbox-guest-additions-for-ubuntu.html' title='笔记 - 在Ubuntu上安装VirtualBox Guest Additions'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-9012447474012081553</id><published>2009-01-18T17:33:00.008+08:00</published><updated>2009-01-24T01:34:39.169+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>笔记 - 在Windows XP下为VirtualBox设置桥接模式</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;在&lt;/span&gt;Windows XP下，通过VirtualBox安装Ubuntu Server 8.1，默认情况网络连接会被设置为NAT模式，也就是只要Windows XP能正常上网，Ubuntu就可以正常上网。但NAT模式有很多限制，为了能让这个Guest Ubuntu和Windows在局域网中拥有同样的地位，我们需求将网络连接设置为桥接(Host Interface)模式。&lt;/p&gt;&lt;div class="fullpost"&gt;顾名思义，桥接也就是在Host和Guest之间通过接口搭建一个小桥（呵呵，不算太牵强附会吧）。这个小桥就是虚拟网卡（VirtualBox TAP Adapter)，建立一个虚拟网卡有以下两种方式：&lt;br /&gt;* 使用命令：VBoxManage createhostif "VM1 external"。&lt;br /&gt;* 在VirtualBox界面相应服务器的 设置/网络/Host Infterfaces 中添加。&lt;br /&gt;&lt;br /&gt;建立了虚拟网卡以后，在 控制面板/网络连接 中就能看到这个设备。我们要将这个虚拟网卡对应的连接和现有的网络连接桥接器来，具体先按其中一个，然后按住Ctrl点另外一个，右键点其中任意一个，菜单中就会出现“桥接”项了。操作以后，会多出一个网络桥来。这以后，如果要设置Windows XP的IP地址和DNS，可以直接对网络桥那项进行编辑。&lt;br /&gt;&lt;br /&gt;在VirtualBox主界面，进入相应的服务器设置界面，修改网络面板下的“Attached To”为“Host Interface”，在下面的Host Interfaces列表中选择之前建立的虚拟网卡，确认就OK啦。&lt;br /&gt;&lt;br /&gt;按道理说，连接网络的工作就完成了，如果获取IP的方式之前设置为DHCP，进入到系统中直接ping一下host或者其他机器看看，应该就连通了。如果ping其他网站不可以，可能是dns没有设置的原因。对于IP和DNS怎样设置，完全就根据大家需要了，可以参考《&lt;a href="http://cuimingda.com/2009/01/set-ip-and-dns-for-ubuntu.html"&gt;笔记 - 在Ubuntu下设置IP、DHCP、DNS和主机名&lt;/a&gt;》这篇来设置。&lt;br /&gt;&lt;br /&gt;备注：这样设置以后，虚拟的那个链接，就是例子中的VM1 External，可能一直处于网线没有连接的状态。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;参考资料&lt;/strong&gt;&lt;br /&gt;* &lt;a target="_blank" href="http://yuanfarn.blogspot.com/2007/03/virtualbox-host-interface.html"&gt;VirtualBox 使用筆記（五）：使用 Host interface 的網路介面&lt;/a&gt;&lt;br /&gt;* &lt;a target="_blank" href="http://blog.chinaunix.net/u/5391/showart_1084701.html"&gt;VirtualBox中linux和windows建立桥接&lt;/a&gt;&lt;br /&gt;* &lt;a target="_blank" href="http://b2d.tnc.edu.tw/phpBB2/viewtopic.php?t=2260"&gt;Windows XP為Host OS的VirtualBox橋接網路模式設定&lt;/a&gt;&lt;br /&gt;* &lt;a target="_blank" href="http://b2d.tnc.edu.tw/phpBB2/viewtopic.php?t=2259"&gt;Linux為 Host OS的VirtualBox橋接模式設定&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-9012447474012081553?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=9012447474012081553' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/9012447474012081553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/9012447474012081553'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/virtualbox-host-interface-for-windows.html' title='笔记 - 在Windows XP下为VirtualBox设置桥接模式'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-2420753321479263452</id><published>2009-01-18T15:54:00.013+08:00</published><updated>2009-01-18T16:51:36.481+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>笔记 - 在Ubuntu下设置IP、DHCP、DNS和主机名</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;在&lt;/span&gt;VirtualBox中安装Ubuntu后，默认是以DHCP方式获取IP，我们可以改成静态的IP地址，同样我们也可以手动设置DNS，这篇是我安装过程中的一篇学习笔记。包含一些和网络配置相关的命令，作为备忘吧。本文的Host是Windows XP SP3，Guest是Ubuntu Server 8.1，虚拟机使用的是VirtualBox 2.0.6。&lt;/p&gt;&lt;div class="fullpost"&gt;&lt;strong&gt;设置本机的IP地址和子网掩码&lt;/strong&gt;&lt;br /&gt;$ sudo ifconfig eth0 192.168.0.120 netmask 255.255.255.0&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;设置网关&lt;/strong&gt;&lt;br /&gt;$ sudo route add default gw 192.168.0.1&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;配置网络连接使用DHCP&lt;/strong&gt;&lt;br /&gt;$ sudo vi /etc/network/interfaces&lt;br /&gt;auto eth0&lt;br /&gt;iface eth0 inet dhcp&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;配置使用DHCP时的DNS，防止每次重启刷新&lt;/strong&gt;&lt;br /&gt;$ sudo vi /etc/dhcp3/dhclient.conf&lt;br /&gt;prepend domain-name-servers 208.67.222.222,208.67.220.220;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;重新获取DHCP信息&lt;/strong&gt;&lt;br /&gt;$ sudo dhclient eth0&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;配置网络连接使用静态IP地址&lt;/strong&gt;&lt;br /&gt;$ sudo vi /etc/network/interfaces&lt;br /&gt;auto eth0&lt;br /&gt;iface eth0 inet static&lt;br /&gt;address 192.168.0.120&lt;br /&gt;gateway 192.168.0.1&lt;br /&gt;netmask 255.255.255.0&lt;br /&gt;network 192.168.0.0&lt;br /&gt;broadcast 192.168.0.255&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;配置网络连接的DNS&lt;/strong&gt;&lt;br /&gt;$ sudo vi /etc/resolv.conf&lt;br /&gt;nameserver 208.67.222.222&lt;br /&gt;nameserver 208.67.220.220&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;配置主机名称&lt;/strong&gt;&lt;br /&gt;sudo hostname newname&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;每次修改网络配置后，重新启动网络使之生效&lt;/strong&gt;&lt;br /&gt;$ sudo /etc/init.d/networking restart&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;参考资料&lt;/strong&gt;&lt;br /&gt;# &lt;a target="_blank" href="http://wiki.ubuntu.org.cn/index.php?title=Ubuntu%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97&amp;variant=zh-cn#.E8.81.94.E7.BD.91"&gt;Ubuntu服务器入门指南 - 5.联网&lt;/a&gt;&lt;br /&gt;# &lt;a target="_blank" href="http://wubin.blog.51cto.com/274541/79214"&gt;实验——LINUX常用网络测试命令&lt;/a&gt;&lt;br /&gt;# &lt;a target="_blank" href="http://hi.baidu.com/nullspace/blog/item/ab37e6506165b35b1138c263.html"&gt;ubuntu 8.10 设置IP及DNS（解决重启需要重设的问题）&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-2420753321479263452?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=2420753321479263452' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/2420753321479263452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/2420753321479263452'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/set-ip-and-dns-for-ubuntu.html' title='笔记 - 在Ubuntu下设置IP、DHCP、DNS和主机名'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-5822558418904722899</id><published>2009-01-18T07:03:00.009+08:00</published><updated>2009-01-18T18:23:13.127+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>笔记 - 在Windows XP下自动启动VirtualBox服务器</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;在&lt;/span&gt;Windows XP中，要想启动某个虚拟机，正常情况下要先打开VirtualBox，然后在列表中选择一个服务器，然后点开始。但其实如果经常需要这么做，或者想让开机的时候自动启动某个服务器，还有一种命令行的方式可以选择。在VirtualBox的安装目录有一个叫做VBoxManage.exe的文件，除了可以用来更改VirtualBox的设置，还可以用来自动启动服务器。&lt;/p&gt;&lt;div class="fullpost"&gt;默认情况下，VBoxManage.exe的地址应该类似下面这个样子：&lt;br /&gt;&lt;br /&gt;C:\Program Files\Sun\xVM VirtualBox\VBoxManage.exe&lt;br /&gt;&lt;br /&gt;我们建立一个快捷方式，目标的内容如下所示：&lt;br /&gt;&lt;br /&gt;"C:\Program Files\Sun\xVM VirtualBox\VBoxManage.exe" startvm Ubuntu&lt;br /&gt;&lt;br /&gt;注意的是，Ubuntu是我的服务器的名字，大家可以根据实际情况改成自己的。startvm是VBoxManage.exe自动启动服务器的命令。这个快捷方式可以直接运行，也可以放到开始菜单的启动项中，看大家需要了。&lt;br /&gt;&lt;br /&gt;测试环境：&lt;br /&gt;Host - Windows XP SP3&lt;br /&gt;Guest - Ubuntu Server 8.1&lt;br /&gt;VirtualBox - 2.0.6&lt;br /&gt;&lt;br /&gt;备注：如果某个服务器已经启动，再次采用这种方式启动会报异常。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;参考资料&lt;/strong&gt;&lt;br /&gt;* &lt;a target="_blank" href="http://forums.virtualbox.org/viewtopic.php?p=50784"&gt;Run Ubuntu from XP host at bootup of XP without intervention&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-5822558418904722899?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=5822558418904722899' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/5822558418904722899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/5822558418904722899'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/auto-start-virtualbox-server.html' title='笔记 - 在Windows XP下自动启动VirtualBox服务器'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-3987614579428223458</id><published>2009-01-16T05:30:00.006+08:00</published><updated>2009-01-16T05:44:20.466+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='Greasemonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='Douban'/><title type='text'>脚本 - 小组讨论中，直接显示最后一条回复</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;小&lt;/span&gt;组有几个反馈的帖子，都有100多楼，每次翻阅，总是要先打开帖子，等待，然后跳到最后一页，还要向下翻。虽然np把分页给放到屏幕最上面了，虽然可以直接跳到页尾，可还是要先到首页，再到最后一页，多了一道工序，所以有了这个脚本。&lt;/p&gt;&lt;div class="fullpost"&gt;【脚本名称】Douban Group Last Reply&lt;br /&gt;【下载地址】&lt;a href="http://userscripts.org/scripts/show/40538"&gt;http://userscripts.org/scripts/show/40538&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Douban Group Last Reply是一个Greasemonkey脚本，应用于豆瓣网的小组讨论模块。在帖子列表中，为回复数添加一个链接，不管有多少页，多少个回复，点击这个链接都可以直接跳到最后一页的最后一个回复。（其实是最后一个回复向下偏移1/3个屏幕，呵呵）&lt;br /&gt;&lt;br /&gt;有些页面的表格是四列的，有些是五列的，这里折中取了倒数第二列。&lt;br /&gt;&lt;br /&gt;0-100页的地址格式：&lt;br /&gt;http://www.douban.com/group/topic/5039392/#last&lt;br /&gt;&lt;br /&gt;101-200页的地址格式：&lt;br /&gt;http://www.douban.com/group/topic/3388182/?start=100#last&lt;br /&gt;&lt;br /&gt;往后类推。。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;目前支持的页面：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;小组讨论首页&lt;br /&gt;http://www.douban.com/group/&lt;br /&gt;&lt;br /&gt;单独小组首页&lt;br /&gt;http://www.douban.com/group/*/&lt;br /&gt;&lt;br /&gt;更多小组讨论&lt;br /&gt;http://www.douban.com/group/*/discussion*&lt;br /&gt;&lt;br /&gt;我所在小组的最近话题&lt;br /&gt;http://www.douban.com/people/*/group_topics*&lt;br /&gt;&lt;br /&gt;我最近的发言&lt;br /&gt;http://www.douban.com/people/*/topics*&lt;br /&gt;&lt;br /&gt;我回应的话题&lt;br /&gt;http://www.douban.com/people/*/replied_topics*&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-3987614579428223458?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=3987614579428223458' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/3987614579428223458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/3987614579428223458'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/douban-group-last-reply.html' title='脚本 - 小组讨论中，直接显示最后一条回复'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-358322910926179330</id><published>2009-01-16T01:54:00.009+08:00</published><updated>2009-01-16T06:02:06.830+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='Greasemonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='Douban'/><title type='text'>脚本 - 根据访问频率调整小组的显示顺序</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;D&lt;/span&gt;ouban Group Frequency是一个Greasemonkey脚本，应用于&lt;a href="http://douban.com"&gt;豆瓣网&lt;/a&gt;的小组模块，可以记录用户的访问习惯，将那些经常访问的小组排在最前面。&lt;/p&gt;&lt;div class="fullpost"&gt;【脚本名称】Douban Group Frequency&lt;br /&gt;【下载地址】&lt;a href="http://userscripts.org/scripts/show/40534"&gt;http://userscripts.org/scripts/show/40534&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;在豆瓣插件小组置顶的帖子里，很多朋友希望增加小组分类的脚本，这两天一直计划写一个，可是当用了&lt;a href="http://wakoopa.com/cuimingda"&gt;Wakoopa&lt;/a&gt;以后，有了新的想法。无论是设置分类，还是设置标签，都需要手动操作，小组多了也很麻烦。而我们要达到的最终目的，只是要把那些经常访问的小组置于最前面而已，所以有了根据大家的访问习惯来自动设置顺序的想法。&lt;br /&gt;&lt;br /&gt;现在的操作还很简单，在本地为每个你访问过的小组增加一个频率属性，你每访问这个小组一次脚本就累加一次，在我的小组界面，按照这个频率属性由高向低排序，时间长了自然经常访问的小组就显示在前面了。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Jc--tI6-rmE/SW9-LQGZXkI/AAAAAAAAAMs/mPGBswrOVUM/s1600-h/Snap1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 134px;" src="http://4.bp.blogspot.com/_Jc--tI6-rmE/SW9-LQGZXkI/AAAAAAAAAMs/mPGBswrOVUM/s400/Snap1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5291586818949078594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;以后计划多储存一些数据，比如小组的最后访问时间，加入时间，访问的帖子数等，数据越多，就可以做出越多的统计，让大家知道自己平时最钟爱的小组有哪些。&lt;br /&gt;&lt;br /&gt;访问频率初始值为0，访问小组首页加1，访问小组内帖子首页加1，除了首页其他页面暂时还没有统计，主要怕各个小组的值差的太悬殊，呵呵。&lt;br /&gt;&lt;br /&gt;脚本最后调用了debug函数，会在右边的侧栏显示所有小组的访问记录，包括那些你没有加入的小组，和开始记录的时间。在小组人数后面，会以中括号标识访问频率数的具体值。如果不想看这些数据，可以直接把debug的调用注释或者删除。&lt;br /&gt;&lt;br /&gt;脚本在Firefox配置中保存了两个字段：&lt;br /&gt;&lt;br /&gt;greasemonkey.scriptvals.http://cuimingda.com/Douban Group Frequency.groups&lt;br /&gt;保存我的所有小组的访问次数，采用JSON格式&lt;br /&gt;&lt;br /&gt;greasemonkey.scriptvals.http://cuimingda.com/Douban Group Frequency.startDate&lt;br /&gt;保存开始统计的时间&lt;br /&gt;&lt;br /&gt;在侧栏增加了一个“清空我的小组访问记录”链接，点击以后将会清空没有加入的小组的访问记录，以及将我的所有小组的访问次数设置为0，开始统计时间也会重置。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Jc--tI6-rmE/SW9-Ugc4xfI/AAAAAAAAAM0/lJJfg1D0BP0/s1600-h/Snap2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 228px; height: 400px;" src="http://4.bp.blogspot.com/_Jc--tI6-rmE/SW9-Ugc4xfI/AAAAAAAAAM0/lJJfg1D0BP0/s400/Snap2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5291586977957201394" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;更新：之前都只能在&lt;a href="http://www.douban.com/group/mine"&gt;我的小组&lt;/a&gt;页面调整显示顺序，现在在&lt;a href="http://www.douban.com/group/"&gt;小组首页&lt;/a&gt;也可以了&lt;br /&gt;&lt;br /&gt;更新：除了有我参与的小组外，还有我建立的小组，之前把所有的内容都添加到我建立的小组中了，修改了下父元素，将两组给区分开来了。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-358322910926179330?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=358322910926179330' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/358322910926179330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/358322910926179330'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/douban-group-frequency.html' title='脚本 - 根据访问频率调整小组的显示顺序'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Jc--tI6-rmE/SW9-LQGZXkI/AAAAAAAAAMs/mPGBswrOVUM/s72-c/Snap1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-8080736890180322021</id><published>2009-01-15T16:33:00.007+08:00</published><updated>2009-01-16T02:39:43.267+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='Greasemonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='Douban'/><title type='text'>脚本 - 用Ctrl Enter为所有的文本框提速</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;D&lt;/span&gt;ouban Ctrl Enter是一个Greasemonkey脚本，为豆瓣所有的多行文本框增加Ctrl+Tab快捷键，通过这个快捷键可以直接模拟点击表单内的提交按钮。在Firefox 3.1b2和Greasemonkey 0.8下测试通过。&lt;/p&gt;&lt;div class="fullpost"&gt;【脚本名称】Douban Ctrl Enter&lt;br /&gt;【下载地址】&lt;a href="http://userscripts.org/scripts/show/40498"&gt;http://userscripts.org/scripts/show/40498&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;豆瓣有很多栏目，每个栏目都可以评论、留言，发表大部分内容都是在一个文本框内填写内容，然后点击“加上去”，多了这一步加上去着实不爽，所以写了这个脚本。&lt;br /&gt;&lt;br /&gt;这个脚本只针对Textarea做了处理，没有对单行的文本框绑定事件，主要是大部分的单行文本框直接按回车就可以提交，再加就多此一举了。&lt;br /&gt;&lt;br /&gt;一开始的时候采用的是直接调用表单的submit方法，但是调用这个方法不会激活onsubmit事件，这个事件中有可能存在校验代码。而且豆瓣大部分的表单，是在submit按钮的点击事件中做了表单的校验，所以后来改为鼠标模拟点击submit按钮。如果表单中有内容校验不通过，会向正常情况一样给出提示。&lt;br /&gt;&lt;br /&gt;这里做个备忘，在HTML中，按道理说FORM是不可以嵌套的，jQuery也是这样处理，在测试代码中设置某元素父节点存在两层FORM元素，用parents("form")只能获取最近的那个。&lt;br /&gt;&lt;br /&gt;更新：选择submit元素的时候，加上了visible过滤条件，发现豆瓣部分页面的表单，里面包含多个submit，根据页面功能的不同，将其中一个设为显示，其他的设为隐藏。如果不加这个条件，获取的提交按钮就不对了。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-8080736890180322021?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=8080736890180322021' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/8080736890180322021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/8080736890180322021'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/douban-ctrl-enter.html' title='脚本 - 用Ctrl Enter为所有的文本框提速'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-3944990814136931438</id><published>2009-01-14T21:48:00.008+08:00</published><updated>2009-01-14T22:27:25.105+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='Greasemonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='Yeeyan'/><category scheme='http://www.blogger.com/atom/ns#' term='Douban'/><title type='text'>脚本 - 为译言添加“推荐到豆瓣”功能</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;Y&lt;/span&gt;eeyan To Douban是我在豆瓣的推荐Bookmarklet基础上写的一个Greasemonkey脚本，在译言所有文章的末尾，添加一个“推荐到豆瓣”的链接，点击就会弹出个小窗口，确认就可以把这篇文章推荐到豆瓣了。&lt;/p&gt;&lt;div class="fullpost"&gt;【脚本名称】Yeeyan To Douban&lt;br /&gt;【脚本地址】&lt;a target="_blank" href="http://userscripts.org/scripts/show/40423"&gt;http://userscripts.org/scripts/show/40423&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;推荐语会自动从全文中提取，如果选中了部分文字，则推荐语就是这部分文字。如果没有选中任何文字，则会提取文章的简介部分，而如果译者还没有加简介，则会提取正文第一段落的内容。当然，不论推荐语自动填入了什么，你还可以根据需要修改。&lt;br /&gt;&lt;br /&gt;译言和豆瓣之间应该已经有相应的接口，用豆瓣的Bookmarklet推荐，会提取一些非网页上的内容，比如译者和原文地址等，而且采用这种方式，不会把选中的文章内容传过来，还是很不方便的。所以这里使用了一个Hack，就是在所有推荐的地址后面加了点东西，这样就不被识别为标准的译言文章，就不会走那个特殊渠道了，呵呵。地址还是那个地址。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;写在后面的心得&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;对window.open加一层判断，如果打开失败，改用location.href，是个很不错的想法，防止对打开窗口加以屏蔽的情况。&lt;br /&gt;jQuery是不能跨域发送AJAX请求的，一直以为可以，一直都错了。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-3944990814136931438?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=3944990814136931438' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/3944990814136931438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/3944990814136931438'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/yeeyan-to-douban.html' title='脚本 - 为译言添加“推荐到豆瓣”功能'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-1675030943291953038</id><published>2009-01-12T04:31:00.004+08:00</published><updated>2009-01-12T04:51:15.064+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Add-ons'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>MIIT Record Tracker - 网站备案了么？</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;中&lt;/span&gt;国从几年以前开始对网站实行监管，非营利性网站实行备案制度，营利性网站实行许可证制度，其他特殊业务的网站有专门部门发许可。按要求是在网站页面下方要显示备案号，并放上工信部的链接，但其实工信部自己和国家部委的网站就不符合要求。对于规范的网站，如何来判断备案号是否有效呢？&lt;/p&gt;&lt;div class="fullpost"&gt;MIIT Record Tracker是我写的一个Firefox扩展，目前版本0.1，还处于沙盒中，想法也很简单，找到网页上的备案信息，并显示是否找到，多点一下鼠标就在后台去工信部的网站查找详细信息，并显示出来。&lt;br /&gt;&lt;br /&gt;【下载地址】&lt;a target="_blank" href="https://addons.mozilla.org/firefox/addon/10337"&gt;https://addons.mozilla.org/firefox/addon/10337&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;计划完善的内容：&lt;br /&gt;兼容更多不规范格式的备案号。&lt;br /&gt;对于一些外观上的内容增加选项，让大家自定义。&lt;br /&gt;显示详细信息。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;写在后面&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;貌似也写了很长时间Firefox扩展了，一直计划要把自己写的扩展传到AMO上，可总有各种各样的原因导致流产，其实只是很简单的几步，就在刚才，一激动就把这个很久以前的扩展给传了，丑媳妇总是要见公婆的嘛，呵呵。刚才还在SF.net申请了这个项目，也是第一次，希望能快点批下来吧。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-1675030943291953038?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=1675030943291953038' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/1675030943291953038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/1675030943291953038'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/miit-record-tracker.html' title='MIIT Record Tracker - 网站备案了么？'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-2136753450501417033</id><published>2009-01-12T00:30:00.006+08:00</published><updated>2009-01-20T00:53:09.072+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Add-ons'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>如何在Firefox扩展中使用jQuery</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;j&lt;/span&gt;Query是一个非常强大的JavaScript类库，如果在Firefox扩展的开发中使用，可以让我们的代码清晰很多，刚在网上搜了一下，问如何将两者结合在一起的有那么几个，可是回答的基本都是所答非所问，大家问的是怎样通过Firefox扩展在Firefox打开的网页中使用jQuery，而回答都是怎样操作XULDocument的。&lt;/p&gt;&lt;div class="fullpost"&gt;先整理下思路，jQuery不管怎么说，都是对DOM操作的，这就要求首先要有一个可以操作的DOM对象。在扩展中直接调用document，获取的类型是XULDocument，对应于整个浏览器，而这个onload事件，在打开浏览器的时候就调用了，这时候我们还没有输入地址打开网页呢。而其实我们是想在Firefox扩展中，对要操作的网页使用jQuery，这其实用到了和Tab相关的一些技巧。&lt;br /&gt;&lt;br /&gt;来写具体的，首先准备一个jQuery的类库，我们这里使用最新的1.2.6，如果没有，可以到&lt;a target="_blank" href="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js"&gt;这里&lt;/a&gt;下载。下载后放到扩展的content目录中。&lt;br /&gt;&lt;br /&gt;建立一个overlay.xul，我们目前没有任何界面元素，建立这个文件的目的主要是加载脚本，该文件的内容如下：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;&amp;lt;overlay id="myext-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&amp;gt;&lt;br /&gt; &amp;lt;script type="application/x-javascript" src="chrome://myext/content/jquery-1.2.6.min.js" /&amp;gt;&lt;br /&gt; &amp;lt;script type="application/x-javascript" src="chrome://myext/content/overlay.js" /&amp;gt;&lt;br /&gt;&amp;lt;/overlay&amp;gt;&lt;/code&gt;&lt;/pre&gt;如果我们有一些界面元素，加载脚本的代码，应该放到overlay的最后面，这和HTML的规则是一样的。加载了两个脚本，一个是jQuery类库，另外一个包含了我们的所有操作，当然jQuery应该放在前面了。下面看看overlay.js的代码：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;/*&lt;br /&gt;;(function() {&lt;br /&gt; function pageLoad(doc) {&lt;br /&gt;     $("a", doc).click(function(event) {&lt;br /&gt;         event.preventDefault();&lt;br /&gt;     });&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; window.addEventListener("load", function () {&lt;br /&gt;     gBrowser.addEventListener("load", function(event) {&lt;br /&gt;         if (event.originalTarget instanceof HTMLDocument &amp;amp;&amp;amp;&lt;br /&gt;             !event.originalTarget.defaultView.frameElement) {&lt;br /&gt;             pageLoad(event.originalTarget);&lt;br /&gt;         }&lt;br /&gt;     }, true);&lt;br /&gt; }, false);&lt;br /&gt;&lt;br /&gt;})();&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;pageLoad这个函数，只有在每个页面load完毕的时候才会调用，而doc则对应于该页面的document对象，我们可以直接使用下面的方式获取网页的标题。&lt;br /&gt;alert($(doc).attr("title"));&lt;br /&gt;&lt;br /&gt;这样对网页和对扩展页面的操作就区分开来了。在pageLoad中操作doc，是操作网页的HTMLDocument对象，而直接操作document是处理Firefox的XULDocument对象。&lt;br /&gt;&lt;br /&gt;当然，最后不要忘了加载这个脚本，和往常一样啦，在chrome.manifest中加上下面这两行就可以：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;content myext content/&lt;br /&gt;overlay chrome://browser/content/browser.xul chrome://myext/content/overlay.xul&lt;/code&gt;&lt;/pre&gt;&lt;strong&gt;小结&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;总的来说，在Firefox扩展中使用jQuery，是为了更方便的操作XULDocument对象，而如果需要大量操作网页DOM的情况，应该使用Greasemonkey，而不是做一个Firefox扩展，有很多Greasemonkey的工作，又重新做了一遍，这轮子没什么意思啊。&lt;br /&gt;&lt;br /&gt;本文对于pageLoad的判断，完整的版本大家可以参考MDC上的文章《&lt;a target="_blank" href="https://developer.mozilla.org/en/Code_snippets/Tabbed_browser"&gt;Tabbed browser&lt;/a&gt;》，这里做了小小的改动，思路不变。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="ui-datepicker-div" style="display: none;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-2136753450501417033?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=2136753450501417033' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/2136753450501417033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/2136753450501417033'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/using-jquery-in-firefox-extension.html' title='如何在Firefox扩展中使用jQuery'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-4205975576307788406</id><published>2009-01-10T14:38:00.025+08:00</published><updated>2009-01-31T23:42:16.420+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>JavaScript正则表达式生成器</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;看&lt;/span&gt;到很多人把一些JavaScript开发的小工具嵌入到Blogger中，感觉很神奇，我也来尝试一下。这个工具的想法，是将给定的字符串转换成JavaScript正则表达式，目前功能还很简单，只是将特殊符号和汉字用转义符替换，以后会增加一些选项，更加智能一些。为了避免显示一份脚本，再执行一份，后面使用了一点小技巧，页面功能所用的脚本就是下面显示的那份源代码，这样排版也容易些。&lt;/p&gt;&lt;div class="fullpost"&gt;要转换的内容：&lt;br /&gt;&lt;textarea id="convertFrom" style="width:90%;"&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;转换结果：&lt;br /&gt;&lt;textarea id="convertTo" style="width:90%;"&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;input id="convert" type="button" value="Convert To JavaScript Regexp" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;input id="clear" type="button" value="Clear" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;$("document").ready(function() {&lt;br /&gt;    $("#convert").click(function(event) {&lt;br /&gt;        $("#convertTo").val(convertToJsEsc($("#convertFrom").val()));&lt;br /&gt;    });&lt;br /&gt;    $("#clear").click(function(event) {&lt;br /&gt;        $("#convertFrom").val("");&lt;br /&gt;        $("#convertTo").val("");&lt;br /&gt;    });&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;function convertToJsEsc(chars) {&lt;br /&gt;    var result = '';&lt;br /&gt;&lt;br /&gt;    for(var i=0; i&amp;lt;chars.length; i++) {&lt;br /&gt;        var code = chars.charCodeAt(i);&lt;br /&gt;        switch (code) {&lt;br /&gt;            case 0x20: result += "\\s";     break;&lt;br /&gt;            case 0x22: result += "\\\"";    break;&lt;br /&gt;            case 0x27: result += "\\\'";    break;&lt;br /&gt;            case 0x28: result += "\\(";     break;&lt;br /&gt;            case 0x29: result += "\\)";     break;&lt;br /&gt;            case 0x2A: result += "\\*";     break;&lt;br /&gt;            case 0x2B: result += "\\+";     break;&lt;br /&gt;            case 0x2E: result += "\\.";     break;&lt;br /&gt;            case 0x2F: result += "\\/";     break;&lt;br /&gt;            case 0x3F: result += "\\?";     break;&lt;br /&gt;            case 0x5B: result += "\\[";     break;&lt;br /&gt;            case 0x5C: result += "\\\\";    break;&lt;br /&gt;            case 0x5D: result += "\\]";     break;&lt;br /&gt;            case 0x7B: result += "\\{";     break;&lt;br /&gt;            case 0x7D: result += "\\}";     break;&lt;br /&gt;            default:&lt;br /&gt;                if(code &amp;gt; 0x1F &amp;&amp; code &amp;lt; 0x7F) { result += chars[i]; }&lt;br /&gt;                else { result += "\\u" + code.toString(16).toUpperCase(); }&lt;br /&gt;                break;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    return result === "" ? "Nothing to convert" : result;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;参考资料：&lt;br /&gt;☆ &lt;a target="_blank" href="http://www.beginningtoseethelight.org/ascii/"&gt;http://www.beginningtoseethelight.org/ascii/&lt;/a&gt;&lt;br /&gt;☆ &lt;a target="_blank" href="http://rishida.net/scripts/uniview/conversion.php"&gt;http://rishida.net/scripts/uniview/conversion.php&lt;/a&gt;&lt;br /&gt;☆ &lt;a href="http://cuimingda.com/2008/12/gb2312.html"&gt;http://cuimingda.com/2008/12/gb2312.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.1.min.js"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;$(".source-code code").each(function(){eval($(this).text());});&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-4205975576307788406?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=4205975576307788406' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4205975576307788406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4205975576307788406'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/chars-to-javascript-regexp-escape.html' title='JavaScript正则表达式生成器'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-7506999462053965711</id><published>2009-01-09T15:39:00.013+08:00</published><updated>2009-01-23T18:44:38.977+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><title type='text'>可用的Google GHS地址（2009年1月23日更新）</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;在&lt;/span&gt;中国，政府一直主张实名制，这样可以让大家对自己说的话更加负责一些，也更容易控制一些，但这只是对运营在国内的服务器的限制，政府对运营在国外的服务器没有管辖权，那就只有屏蔽了，也就是传说中的GFW。但就算如此，我还是喜欢国外的Blogger，图的就是这里清净、纯粹。由于GHS经常被封，所以根据经验整理这个列表吧，希望能对大家有帮助。&lt;/p&gt;&lt;div class="fullpost"&gt;不同的ISP，在不同时间连接各个GHS的状态可能不一样，我的测试数据是通过上海网通的网络测试的，大家可以多试试。&lt;br /&gt;&lt;br /&gt;☆ 64.233.179.121 - &lt;span style="color:red;"&gt;不可用&lt;/span&gt;&lt;br /&gt;☆ 66.249.81.121 - &lt;span style="color:red;"&gt;不可用&lt;/span&gt;&lt;br /&gt;☆ 66.249.91.121 - &lt;span style="color:red;"&gt;不可用&lt;/span&gt;&lt;br /&gt;☆ 72.14.205.100 - &lt;span style="color:green;"&gt;可用&lt;/span&gt;&lt;br /&gt;☆ 72.14.207.121 - &lt;span style="color:red;"&gt;不可用&lt;/span&gt;&lt;br /&gt;☆ 72.14.235.121 - &lt;span style="color:red;"&gt;不可用&lt;/span&gt;&lt;br /&gt;☆ 74.125.43.121 - &lt;span style="color:red;"&gt;不可用&lt;/span&gt;&lt;br /&gt;☆ 74.125.47.121 - &lt;span style="color:green;"&gt;可用&lt;/span&gt;&lt;br /&gt;☆ 74.125.93.121 - &lt;span style="color:red;"&gt;不可用&lt;/span&gt;&lt;br /&gt;☆ 209.85.171.100 - &lt;span style="color:green;"&gt;可用&lt;/span&gt;&lt;br /&gt;☆ 209.85.171.121 - &lt;span style="color:red;"&gt;不可用&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;备注：找GHS，有个&lt;a target="_blank" href="http://www.robtex.com/dns/"&gt;好工具&lt;/a&gt;是很必要的。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-7506999462053965711?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=7506999462053965711' title='3 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/7506999462053965711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/7506999462053965711'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/google-ghs-white-list-in-gfwed-china.html' title='可用的Google GHS地址（2009年1月23日更新）'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-1159867300327323836</id><published>2009-01-03T21:52:00.005+08:00</published><updated>2009-01-03T22:10:03.358+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>使用jQuery发送AJAX请求的小技巧 - 拒绝缓存</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;通&lt;/span&gt;过jQuery发送ajax请求，无论是get方式还是post方式，当前后两次请求的参数完全一样时，浏览器就有可能调用缓存里的数据，最直接的结果就是造成有些操作没有生效的假象。这种情况，我们应该通过下面这个技巧来避免浏览器调用缓存里的内容。&lt;/p&gt;&lt;div class="fullpost"&gt;【本文地址】&lt;a href="http://cuimingda.com/2009/01/ajax-tip-anti-cache.html"&gt;http://cuimingda.com/2009/01/ajax-tip-anti-cache.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;先整理下思路，浏览器之所以调用缓存里的内容，最主要的一点是判定现在要访问的内容和之前的是一样的，那我们解决这个问题的方法就明确了，怎么让前后两次的内容不一样。这里介绍的技巧是为查询请求增加一个随机的参数。&lt;br /&gt;&lt;br /&gt;对于get请求：&lt;pre class="source-code"&gt;&lt;code&gt;url = "someurl.php?id=123";&lt;br /&gt;url += "&amp;anticache=" + Math.floor(Math.random()*1000)&lt;br /&gt;$.get(url);&lt;/code&gt;&lt;/pre&gt;对于post请求：&lt;pre class="source-code"&gt;&lt;code&gt;parms = {&lt;br /&gt;   id : "123",&lt;br /&gt;   anticache : Math.floor(Math.random()*1000)&lt;br /&gt;}&lt;br /&gt;$.post("someurl.php", parms);&lt;/code&gt;&lt;/pre&gt;&lt;strong&gt;小结&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;编写脚本的过程中，发现应该为大多数请求添加随机参数，这样可以保证获取数据的实时性和准确性。使用了这个技巧以后，基本没有发现操作好像无效的情况，呵呵。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-1159867300327323836?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=1159867300327323836' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/1159867300327323836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/1159867300327323836'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/ajax-tip-anti-cache.html' title='使用jQuery发送AJAX请求的小技巧 - 拒绝缓存'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-4320401228669779585</id><published>2009-01-03T21:02:00.005+08:00</published><updated>2009-01-03T21:39:42.427+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>技巧 - 如何使用JavaScript监视动态变化的DIV元素</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;在&lt;/span&gt;HTML中，不管是select元素还是input元素，都可以激活onchange事件，这样当元素的值发生改变时，我们可以做出相应的处理。可当我要监控的内容不是一个form元素，而是一个div的时候，应该怎么办呢？比如有一个div的内容是通过ajax控制的，我们必须保证要在div内容发生变化的时候，进行相应的操作，这里我来介绍一个学来的小技巧。&lt;/p&gt;&lt;div class="fullpost"&gt;【本文地址】&lt;a href="http://cuimingda.com/2009/01/html-div-change-event.html"&gt;http://cuimingda.com/2009/01/html-div-change-event.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;首先整理下思路，Div元素本身无法发出改变信号，那么我们就要做个监视器，来监视div的改变，可能就需要一个定时器来判断内容。而对于内容是否改变，我们还要有一个判断的标识，通常通过AJAX更改内容，都是通过innerHTML来修改，所以我们可以为其中的某个元素添加一个属性，代表我们已经处理过了，当内容刷新，这个属性就会消失，当我们检查的时候就会知道，这样就可以重新操作了。&lt;br /&gt;&lt;br /&gt;我们假设Greasemonkey脚本要应用的网站中，有一个页面存在类似下面的内容，news的内容会经常的自动刷新，而我们要做的就是，当内容刷新时，显示出当前的段落数量，也就是p元素的数量。&lt;pre class="source-code"&gt;&lt;code&gt;&amp;lt;div id="news"&amp;gt;&lt;br /&gt;   &amp;lt;p&amp;gt;some news...&amp;lt;/p&amp;gt;&lt;br /&gt;   &amp;lt;p&amp;gt;some news...&amp;lt;/p&amp;gt;&lt;br /&gt;   &amp;lt;p&amp;gt;some news...&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;为了监视div内容的变化，我们需要在页面加载的时候添加一个监视器：&lt;pre class="source-code"&gt;&lt;code&gt;$(document).ready(function() {&lt;br /&gt;   newsMonitor();&lt;br /&gt;});&lt;/code&gt;&lt;/pre&gt;我们可以设置为1秒检查一次，当然可以根据实际的需要做些调整：&lt;pre class="source-code"&gt;&lt;code&gt;var newsMonitor = function() {&lt;br /&gt;   newsChecker();&lt;br /&gt;   setTimeout(function() { newsMonitor(); }, 1000);&lt;br /&gt;};&lt;/code&gt;&lt;/pre&gt;下面这个函数负责检查和操作：&lt;pre class="source-code"&gt;&lt;code&gt;var newsChecker = function() {&lt;br /&gt;   if($("#news p:first").attr("checked") === "true") return;&lt;br /&gt;&lt;br /&gt;   // 中间的部分编写当内容发生改变时要进行的操作。&lt;br /&gt;&lt;br /&gt;   $("#news p:first").attr("checked", "true");&lt;br /&gt;};&lt;/code&gt;&lt;/pre&gt;以上的代码都只是一个简单的思路，通过这个思路我们可以对任何元素的内容进行动态的监控。在实际的开发中，我们可以根据需要精简或者复杂代码。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-4320401228669779585?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=4320401228669779585' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4320401228669779585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4320401228669779585'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/html-div-change-event.html' title='技巧 - 如何使用JavaScript监视动态变化的DIV元素'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-6244249361461453302</id><published>2009-01-01T22:10:00.004+08:00</published><updated>2009-01-01T22:44:19.352+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Greasemonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='Add-ons'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Greasefire - Greasemonkey的最佳拍档</title><content type='html'>&lt;p&gt;使用Firefox和Greasemonkey的朋友，应该都知道找脚本要去Userscripts.org，可是你知道到底有多少人为你正在访问的网站编写了脚本么？比如说，你知道Userscripts.org上有多少可以应用在Google Reader上的脚本么？我就知道！现在有450个。什么？我是怎么知道的？向你隆重介绍Greasemonkey的最佳拍档：Greasefire。当你用过之后，你就可以体会这个“最佳”绝对不是浪得虚名。&lt;/p&gt;&lt;div class="fullpost"&gt;【扩展名称】&lt;a target="_blank" href="http://code.google.com/p/greasefire/"&gt;Greasefire&lt;/a&gt;&lt;br /&gt;【扩展作者】&lt;a target="_blank" href="http://skrul.com/"&gt;Steve Krulewitz&lt;/a&gt;&lt;br /&gt;【下载地址】&lt;a target="_blank" href="https://addons.mozilla.org/firefox/addon/8352"&gt;https://addons.mozilla.org/firefox/addon/8352&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Greasefire是一个Firefox扩展，也是一个Greasemonkey扩展，可以显示Userscripts.org上有哪些脚本可以应用在你正在访问的网站上。Greasefire的当前版本是1.0.1，2008年8月2日发布，2005KB大小，兼容于Firefox 3.0 - 3.1b3pre。这里需要说明两点，尺寸很大是因为集成了一个本地索引的关系，还有就是这个扩展不支持Firefox 2.0。&lt;br /&gt;&lt;br /&gt;安装了Greasefire以后，咋一看浏览器界面好像没有什么变化，可是当你访问网站的时候，你就会发现Greasemonkey的图标有时候会“着火”，这是Greasefire找到了适合当前网站的脚本，这时候你只要点击那个猴子，最上面一条就是“XX scrits available”，XX就是找到的脚本数。而点击这个菜单项就会打开一个类似下面的窗口：&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Jc--tI6-rmE/SVzSPPHdojI/AAAAAAAAAMk/TJ9R4rxgxYI/s1600-h/Snap1.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 128px;" src="http://4.bp.blogspot.com/_Jc--tI6-rmE/SVzSPPHdojI/AAAAAAAAAMk/TJ9R4rxgxYI/s400/Snap1.jpg" alt="" id="BLOGGER_PHOTO_ID_5286331221823824434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;下面对这个窗口进行一下简要的说明：&lt;br /&gt;☆ 左面的窗口显示所有支持当前网站的脚本，点击以后就会在右面显示该脚本在Userscripts.org的主页。&lt;br /&gt;☆ 虽然显示出了内容，但上面大部分的链接都是点击无效的，少部分可以点。&lt;br /&gt;☆ 在Tab栏选择Source，可以直接查看源代码。&lt;br /&gt;☆ 而在下面有一个很宽和宽的按钮，可以直接安装脚本。&lt;br /&gt;☆ 左面的列表，默认显示的脚本名称和排行，其实还可以显示更新时间、安装数量和匹配程度。但由于数据是每隔一段时间更新，所以和当前数据可能会有比较大的差别。&lt;br /&gt;&lt;br /&gt;关于这个扩展的数据来源，都是利用接口直接从Userscripts.org上获取，但不是实时的，是定期下载，并保存在本地的。在选项中可以设置更新的频率，默认大概是一个星期。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;小结&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;如果安装了Greasemonkey，Greasefire这个最佳拍档简直就是必须装的，甚至我都认为安装Greasemonkey的理由就是Greasefire，呵呵。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-6244249361461453302?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=6244249361461453302' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/6244249361461453302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/6244249361461453302'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2009/01/firefox-extension-greasefire.html' title='Greasefire - Greasemonkey的最佳拍档'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Jc--tI6-rmE/SVzSPPHdojI/AAAAAAAAAMk/TJ9R4rxgxYI/s72-c/Snap1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-5987470862640420060</id><published>2008-12-28T18:44:00.004+08:00</published><updated>2008-12-28T18:51:18.212+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><title type='text'>技巧 - 你今天为Blogger设置页脚了么？</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;B&lt;/span&gt;logger有一项帖子供稿页脚功能，简单的说就是在输出的RSS或者Atom中，为每个帖子最后添加一点内容，目前找到的资料显示只可以放置静态的内容，还不能放GData数据。至于用途么，可以放链接，也可以放广告，当然也可以放版权声明，看自己喜好啦。如果考虑到订阅用户可能经常不访问博客页面，在页脚位置放公告，也许也是个不错的注意。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a target="_blank" href="http://salaswildthoughts.blogspot.com/2008/08/add-post-feed-footer-let-googlebot.html"&gt;Add Post Feed Footer - Let Googlebot discover the source &lt;/a&gt;&lt;br /&gt;【原文作者】talksmart&lt;br /&gt;&lt;br /&gt;以下是对原文的翻译：&lt;br /&gt;&lt;br /&gt;如果你是一个Blogger用户，你是否已经为你的博客设置了页脚链接（Post Feed Footer Link）？“帖子供稿页脚”可以在设置下的供稿中找到。你可以在这里设置一个链接，这个链接将会出现在你所有帖子的页脚位置。这之前，你需要设置“启用帖子页”为“是”（在存档设置里），并且设置“博客帖子供稿”为“完全”。&lt;br /&gt;&lt;br /&gt;可是为什么要设置页脚呢？你可能会好奇这样做的具体原因，其实很简单，并不是所有的网站都会照单全收你博客的RSS，而是经过了一定的格式化，尤其是当你把供稿模式设置为“完全l”的时候。当Google蜘蛛访问你的网页时，很有可能看到的是经过格式化的内容，而不是你最开始看到的那份。&lt;br /&gt;&lt;br /&gt;所有，为了让这些蜘蛛看到你的地址，还是在你每篇博客的下面添加一份吧。&lt;br /&gt;&lt;br /&gt;下面举个简单的例子，你可以仿照这样来做。只需要把下面的内容添加到“Post Feed Footer”中，并替换内容为你网站的名字和链接就好。&lt;pre class="source-code"&gt;&lt;code&gt;&amp;lt;hr /&amp;gt; &amp;lt;a href="http://www.myblog.com"&amp;gt;My Blog Name&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;再次强调，为了实现这个功能，你必须将同步模式设置为“完全”。&lt;br /&gt;&lt;br /&gt;【译者注】&lt;br /&gt;&lt;br /&gt;如果通过FeedBurner或者FeedSky输出博客RSS，那么通过Google Reader这类工具订阅的时候，看到的只是FeedBurner或者FeedSky地址，当然这个地址可以转换为你网站的实际地址。可是不幸的是，FeedBurner不定期的会遭到屏蔽，导致读者找不到你博客的真实地址。所以，在内容中添加一份地址，还是很有必要的。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-5987470862640420060?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=5987470862640420060' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/5987470862640420060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/5987470862640420060'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2008/12/add-blogger-post-feed-footer.html' title='技巧 - 你今天为Blogger设置页脚了么？'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-7325698988540520773</id><published>2008-12-28T17:13:00.009+08:00</published><updated>2008-12-28T17:55:40.008+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Add-ons'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>3款可以模拟浏览器分辨率的Firefox扩展</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;之&lt;/span&gt;前我介绍了&lt;a href="http://cuimingda.com/2008/12/resize-firefox-to-standard-resolution.html"&gt;Window Resizer&lt;/a&gt;这个Firefox扩展，可以模拟浏览器在各种标准分辨率下的显示效果。之后我又在AMO做了一下&lt;a href="https://addons.mozilla.org/zh-CN/firefox/search?q=window+resizer&amp;amp;cat=all"&gt;搜索&lt;/a&gt;，又发现了两款名字类似，功能相同的Firefox扩展。开两篇文章介绍实在太浪费了，就在一篇里介绍吧。&lt;/p&gt;&lt;div class="fullpost"&gt;先来看看这几个扩展的基本信息，基本上Window Resizer是最早开发的，但因为不能自定义分辨率，所以又出现了Yet Another Window Resizer，而最后开发的Firesizer完全是借鉴了YAWR的灵感，呵呵。&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Jc--tI6-rmE/SVdHPH8AnKI/AAAAAAAAAMU/LjQtIvh10ss/s1600-h/Snap1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 68px;" src="http://2.bp.blogspot.com/_Jc--tI6-rmE/SVdHPH8AnKI/AAAAAAAAAMU/LjQtIvh10ss/s400/Snap1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5284771012896922786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;既然都是模拟浏览器在各种分辨率下显示效果的扩展，我们就对他们的能力做一个比较：&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Jc--tI6-rmE/SVdKX8e60sI/AAAAAAAAAMc/ffibeMfuGuE/s1600-h/Snap1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 186px;" src="http://3.bp.blogspot.com/_Jc--tI6-rmE/SVdKX8e60sI/AAAAAAAAAMc/ffibeMfuGuE/s400/Snap1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5284774462975824578" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;下载&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Window Resizer 1.0&lt;br /&gt;&lt;a target="_blank" href="https://addons.mozilla.org/zh-CN/firefox/addon/1985"&gt;https://addons.mozilla.org/zh-CN/firefox/addon/1985&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yet Another Window Resizer 1.21&lt;br /&gt;&lt;a target="_blank" href="https://addons.mozilla.org/zh-CN/firefox/addon/2498"&gt;https://addons.mozilla.org/zh-CN/firefox/addon/2498&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Firesizer&lt;br /&gt;&lt;a target="_blank" href="https://addons.mozilla.org/zh-CN/firefox/addon/5792"&gt;https://addons.mozilla.org/zh-CN/firefox/addon/5792&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;小结&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;从功能上讲，最晚开发的Firesizer肯定胜出，但是从使用角度将，我更倾向于使用最早开发的Window Resizer，一是我只需要测试那些标准分辨率，二是工具栏图标这种方式操作很符合我的习惯。呵呵。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-7325698988540520773?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=7325698988540520773' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/7325698988540520773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/7325698988540520773'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2008/12/resize-your-firefox-window.html' title='3款可以模拟浏览器分辨率的Firefox扩展'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Jc--tI6-rmE/SVdHPH8AnKI/AAAAAAAAAMU/LjQtIvh10ss/s72-c/Snap1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-6366096059760038094</id><published>2008-12-28T16:50:00.003+08:00</published><updated>2008-12-28T17:06:08.280+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Add-ons'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>再送你一个可以模拟各种分辨率的Firefox浏览器</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;作&lt;/span&gt;为一个Web开发者，一个很基本的素质就是理解世界不是由自己一个人组成的，还包括很多人、很多不同类型的显示器、操作系统和浏览器。而考虑到这点，为了让我们的网站适应更多的人使用，模拟他们的环境就变得很重要，首先我们先来谈谈怎样模拟大家的显示器分辨率，就是这个叫做Window Resizer的Firefox扩展。&lt;/p&gt;&lt;div class="fullpost"&gt;【扩展名称】&lt;a target="_blank" href="http://www.yellowpipe.com/yis/tools/window_resizer/"&gt;Window Resizer&lt;/a&gt;&lt;br /&gt;【扩展作者】&lt;a target="_blank" href="http://www.yellowpipe.com"&gt;Yellowpipe Web Hosting&lt;/a&gt;&lt;br /&gt;【下载地址】&lt;a target="_blank" href="https://addons.mozilla.org/firefox/addon/1985"&gt;https://addons.mozilla.org/firefox/addon/1985&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Window Resizer是一个Firefox扩展，可以模拟Firefox在6个标准分辨率下的显示状态。本文介绍的版本1.0，2008年6月10日更新，23KB大小，兼容于Firefox 1.5 - 3.0.*。&lt;br /&gt;&lt;br /&gt;安装了Window Resizer以后的，可以到“定制工具栏”窗口找“Resize this window”图标，形状和调节窗口大小的鼠标类似。点击这个图标，就可以弹出一个小窗口，可以将浏览器模拟为以下其中之一的分辨率：&lt;br /&gt;* 640×480&lt;br /&gt;* 800×600&lt;br /&gt;* 1024×768&lt;br /&gt;* 1280×800&lt;br /&gt;* 1280×1024&lt;br /&gt;* 1600×1200&lt;br /&gt;&lt;br /&gt;如果模拟的分辨率小于浏览器的当前分辨率，浏览器窗口会缩小，否则浏览器窗口可能会变大，并超出屏幕范围。所以基本上这个扩展只能测试比当前分辨率小的情况，无法测试大的情况。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;小结&lt;/b&gt;&lt;br /&gt;对于Web开发者来说，这是一款既方便又实用的扩展。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-6366096059760038094?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=6366096059760038094' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/6366096059760038094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/6366096059760038094'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2008/12/resize-firefox-to-standard-resolution.html' title='再送你一个可以模拟各种分辨率的Firefox浏览器'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-5463587422213391750</id><published>2008-12-27T15:14:00.004+08:00</published><updated>2008-12-27T15:31:36.246+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Add-ons'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>送你一个可以自由调整大小的Textarea文本框！</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;每&lt;/span&gt;一个你所能遇到的问题，最终都会用很多种解决方案，有一些很麻烦，有一些很简单，只是可能有一些还没有被想出来而已。经常浏览网站，遇到比较多的问题就是让你输入大段文本，可是却给了你一个很小的Textarea。没有Firefox的时候你只能忍耐，看过了我的博客你知道用&lt;a href="http://cuimingda.com/2008/10/textarea-resizer-and-mover.html"&gt;Text Area Resizer and Mover&lt;/a&gt;，本文将介绍一个更简单的解决方法。&lt;/p&gt;&lt;div class="fullpost"&gt;【扩展名称】&lt;a target="_blank" href="https://addons.mozilla.org/zh-CN/firefox/addon/3818"&gt;Resizeable Textarea&lt;/a&gt;&lt;br /&gt;【扩展作者】&lt;a target="_blank" href="https://addons.mozilla.org/zh-CN/firefox/user/67364"&gt;Raik Jürgens&lt;/a&gt;&lt;br /&gt;【下载地址】&lt;a target="_blank" href="https://addons.mozilla.org/firefox/addon/3818"&gt;https://addons.mozilla.org/firefox/addon/3818&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Resizeable Textarea是一个Firefox扩展，可以任意调整Textarea的大小。本文介绍的版本是2006年11月8日发布的0.1d，大小只有4KB，兼容于Firefox 1.0 - 3.1b2。&lt;br /&gt;&lt;br /&gt;安装了这个扩展以后，大部分Textarea都会支持缩放功能，就是当你不鼠标移动到Textarea的一边或者一角时，会发现鼠标形状发生变化，这时候只要拖动就可以，非常的方便。&lt;br /&gt;&lt;br /&gt;当然，对于一个两年以后最后更新的扩展，我们没有办法要求更多了。这个扩展确实不能支持所有的Textarea，有一些Textarea连我自己都发现不能调整大小，但是不影响我对这个扩展的评价，这个思路简洁而优秀。&lt;br /&gt;&lt;br /&gt;而且，如果能增加一些智能的因素，比如记住每个文本框上次的大小，当刷新页面的时候自动调整到那个大小，应该就更加出色了。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-5463587422213391750?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=5463587422213391750' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/5463587422213391750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/5463587422213391750'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2008/12/freely-resize-your-textarea.html' title='送你一个可以自由调整大小的Textarea文本框！'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-8274347859099132919</id><published>2008-12-27T14:08:00.006+08:00</published><updated>2008-12-27T15:04:41.856+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Sites'/><title type='text'>BTemplates.com - 我所知最棒的Blogger模板网站</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;世&lt;/span&gt;界上有一些优秀的网站，由于本身是英文的，所以只有用英文版的Google搜索才能排在前面，而如果用谷歌搜索，也许连第一页都进不去。BTemplates.com就是一个案例，这是我见过的最好的Blogger模板网站，但如果你用Blogger模板作为关键字是搜索不到的，用Blogger Templates搜索，也只是有一个非首页的结果而已。但用英文版Google搜索Blogger Templates，确是第一条结果。&lt;/p&gt;&lt;div class="fullpost"&gt;先说两个数字：第一个，在发表此文的这个早上，也就是在我睡觉的8个小时过程中，通过订阅，我又发现了6个模板的更新；第二个，按照模板栏数的分类统计，该网站的模板数在650到700之间，如果所有的模板都设置了唯一的栏数类别的话，呵呵。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://btemplates.com/"&gt;BTemplates&lt;/a&gt;是我见过的最好的Blogger模板网站。&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;在这个网站，每一个模板都对应于一个blogger上的独立博客，也就是说你除了可以看截图，还可以看到最终的使用效果，而且和应用到你网站的时候一模一样。看到喜欢的，你可以直接把模板文件下载到本地，导入到你的博客。至于可以再修改的权限，要看模板原作者的版权声明了。BTemplates只是把这些模板像图册列出来而已。&lt;br /&gt;&lt;br /&gt;你可以为每个模板评分，一到五颗不等的星星，这样可以帮助其他人更快速的挑选模板，当然对你非常喜欢和非常讨厌的模板，留下一条评论，也许更加有效。&lt;br /&gt;&lt;br /&gt;对于有天赋的你，如果看到这些模板激发了灵感，想自己来试试，并把自己的模板也上传到这里，可以通过这个&lt;a href="http://btemplates.com/submit-a-template/"&gt;地址&lt;/a&gt;提交。&lt;br /&gt;&lt;br /&gt;你可以按几种方式找到你要的模板：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;从到头为一页一页翻，很多啊，看完就需要很长时间。&lt;/li&gt;&lt;li&gt;按模板的类别来查找，具体的类别会在后面列出。&lt;/li&gt;&lt;li&gt;按模板的标签查找，具体的标签会在后面列出。&lt;/li&gt;&lt;li&gt;通过网站的搜索，按照模板或者作者的名字直接找到你要的模板。&lt;/li&gt;&lt;li&gt;订阅&lt;a href="http://feeds.feedburner.com/btemplates"&gt;这个网站的RSS&lt;/a&gt;，通过阅读器获取最新的模板，从中发现你想要的。&lt;/li&gt;&lt;li&gt;通过&lt;a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1784222&amp;amp;loc=es_ES"&gt;FeedBurner提供的Email订阅方式&lt;/a&gt;阅读。&lt;/li&gt;&lt;li&gt;根据网站提供的三个排行榜（下载榜、浏览榜和评分榜）发现你的最爱。&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;网站的标签&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Animals Art Arts ArtWorks Beauty Books Business Cars Christmas City Communications Computers Culture Dark Education Electronics Entertainment Family Fantasy Fashion Floral Food and Drink Games Geometric Girl Grunge Home Internet Jobs Kids Modernity Movie Music Nature Neutral People Personal pages Photography Science Software Space Sport St. Valentine Travel Vector&lt;br /&gt;&lt;br /&gt;&lt;b&gt;网站的分类&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;   * 1 Column&lt;br /&gt;   * 2 Columns&lt;br /&gt;   * 3 Columns&lt;br /&gt;   * 4 Columns&lt;br /&gt;   * Adaptation of Wordpress&lt;br /&gt;   * Black&lt;br /&gt;   * Blue&lt;br /&gt;   * Brown&lt;br /&gt;   * Elegant&lt;br /&gt;   * Fixed width&lt;br /&gt;   * Fluid width&lt;br /&gt;   * Fresh&lt;br /&gt;   * General&lt;br /&gt;   * Gradients&lt;br /&gt;   * Gray&lt;br /&gt;   * Green&lt;br /&gt;   * Left sidebar&lt;br /&gt;   * Magazine&lt;br /&gt;   * Minimalist&lt;br /&gt;   * No images&lt;br /&gt;   * Orange&lt;br /&gt;   * Photolog&lt;br /&gt;   * Pink&lt;br /&gt;   * Red&lt;br /&gt;   * Right sidebar&lt;br /&gt;   * Rounded corners&lt;br /&gt;   * Shadow&lt;br /&gt;   * Violet&lt;br /&gt;   * Web 2.0&lt;br /&gt;   * White&lt;br /&gt;   * Yellow&lt;br /&gt;&lt;br /&gt;&lt;b&gt;小结&lt;/b&gt;&lt;br /&gt;综合起来说，如果你有一个Blogger上的模板，非常推荐你订阅或者经常访问这个网站，会不断有惊喜的。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-8274347859099132919?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=8274347859099132919' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/8274347859099132919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/8274347859099132919'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2008/12/best-blogger-templates-site.html' title='BTemplates.com - 我所知最棒的Blogger模板网站'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-4672633772524893085</id><published>2008-12-26T03:36:00.004+08:00</published><updated>2008-12-26T04:05:34.684+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>正在浏览什么网站？用TwitterBar分享一下吧！</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;T&lt;/span&gt;witterBar所要解决的问题就是，告诉大家你在浏览什么网站？你除了可以把你正在浏览的网站分享出来，还可以加个小评论，只要记得别写太多了，有140个字的限制哟。这个扩展很大的一个特点就是人性化，具体怎么个人性化法，我们下面慢慢介绍。&lt;/p&gt;&lt;div class="fullpost"&gt;【扩展名称】&lt;a target="_blank" href="http://www.chrisfinke.com/addons/twitterbar/"&gt;TwitterBar&lt;/a&gt;&lt;br /&gt;【扩展作者】&lt;a target="_blank" href="mailto:cfinke@gmail.com"&gt;Christopher Finke&lt;/a&gt;&lt;br /&gt;【下载地址】&lt;a target="_blank" href="https://addons.mozilla.org/firefox/addon/4664"&gt;https://addons.mozilla.org/firefox/addon/4664&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;TwitterBar是一个Firefox扩展，可以将地址栏的内容发表到自己的Twitter中。本文介绍的版本是1.1，2008年11月1日发布，12KB大小，兼容于Firefox 2.0 - 3.1b3pre。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;上手&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;安装了这个扩展以后，在地址栏后面，就会多出一个灰色的小豆豆图标，这个就是发表Tweet的按钮，既然看到了就顺便点一下吧，看到什么了？呵呵，当然是提示你的登录了啊。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;登录&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;我们就先来说说TwitterBar的帐号验证模式，主要有两种：第一种是利用Firefox自身的密码管理器，安装后首次发表Tweet，就会自动启用这种模式，并提示你输入用户名和密码，如果打算以后也采用这种方式，我们可以选择保存密码。第二种是利用扩展自己的功能保存，在扩展的设置窗口中选择safe模式，然后输入用户名和密码就可以。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;发布消息&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;登陆以后，我们在地址栏输入任何内容，然后点击那个灰色的小豆豆，就发布了，发布成功地址栏会给出提示的。如果不愿意动鼠标，输入完内容以后，可以直接输入“--post”，TwitterBar会监控地址栏的内容，你一旦在地址栏输了这个命令，就会把前面的内容发布了。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;人性化设置&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;开始的时候说到人性化，其中一点就是在地址栏输入的内容，会自动计算字数，当你把鼠标移动到灰色的小豆豆上时，就会显示出这个字数来。这里要注意的是，用TwitterBar发送消息，会自动包含一个前缀，而这个字数是抛出了前缀的字数。前缀的具体内容在设置里面可以修改。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;小结&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;TwitterBar功能很方便，但不足也还是有的啦。比如设置窗口点确定不会自动关闭，也没有相应提示，就很不方便。而且消息前缀不支持中文，也是一个瑕疵。但总的来说，是非常不错的。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-4672633772524893085?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=4672633772524893085' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4672633772524893085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4672633772524893085'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2008/12/firefox-extension-twitterbar.html' title='正在浏览什么网站？用TwitterBar分享一下吧！'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-8917877846745876208</id><published>2008-12-25T16:58:00.003+08:00</published><updated>2008-12-25T18:20:49.371+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>许个愿望：以后不再使用document.write模式！</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;长&lt;/span&gt;久以来，使用document.write来输出动态脚本都是很多网站的做法，可是这种做法有着先天的缺陷，而且也是可以通过其他方式替换的，可还是有很多人这样做。让我们在圣诞节和Dion Almaer一起许个愿望吧，以后不会再用document.write动态输出脚本！&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a target="_blank" href="http://ajaxian.com/archives/a-christmas-wish-i-promise-not-to-use-documentwrite-mode"&gt;A Christmas Wish: “I promise not to use document.write()” mode&lt;/a&gt;&lt;br /&gt;【原文作者】Dion Almaer&lt;br /&gt;&lt;br /&gt;以下是对原文的翻译：&lt;br /&gt;&lt;br /&gt;昨天晚上的几次谈话激起了我写这篇的想法。他们现在的工作就是处理一些和布局有关的问题，而我听到最多的话就是“我只有用document.write才可能实现这种效果”。&lt;br /&gt;&lt;br /&gt;这其实很难讲，为了动态添加一段脚本，很多人通常会使用document.write来完成。（这算是广告么？）&lt;br /&gt;&lt;br /&gt;这样做带来的最大问题是，我们需要为每个页面付出更大的维护成本，而且这些代码根本无法直接进行优化。&lt;br /&gt;&lt;br /&gt;既然这样，那让我们在这个圣诞节告诉所有的浏览器，你已经许愿不会再使用document.write()，就算使用了也不会生效。&lt;br /&gt;&lt;br /&gt;估计这种事情只能出现在圣诞节的愿望中，还是让我们回到现实中来吧：&lt;br /&gt;&lt;br /&gt;Bob Philips曾经说过，这个世界上有三种男人：&lt;br /&gt;&lt;br /&gt;    * 相信圣诞老人存在的男人&lt;br /&gt;    * 不相信圣诞老人存在的男人&lt;br /&gt;    * 圣诞老人&lt;br /&gt;&lt;br /&gt;好好休息，节后见！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-8917877846745876208?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=8917877846745876208' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/8917877846745876208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/8917877846745876208'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2008/12/i-promise-not-to-use-documentwrite.html' title='许个愿望：以后不再使用document.write模式！'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-2141781126895807558</id><published>2008-12-24T16:32:00.010+08:00</published><updated>2008-12-25T18:35:18.283+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Greasemonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>代码片段 - 如何在Greasemonkey脚本中加载CSS</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;在&lt;/span&gt;我们编写的Greasemonkey脚本中，有时候会需要加载样式表，你会怎么做呢？Greasemonkey 0.8新增了一个叫做resource的meta标记，其实我们完全可以通过这个标记十分方便的加载样式表，就和以前一样，我们介绍两种加载样式表的方式，一种是通过style标签，一种是通过link标签。孰优孰劣，看大家喜好咯。&lt;br /&gt;&lt;/p&gt;&lt;div class="fullpost"&gt;首先我们要先介绍Greasemonkey 0.8新增的两个函数：GM_getResourceURL和GM_getResourceText。GM_getResourceURL函数可以获取加载资源的地址，通常用于元素的href或者src属性，该函数的返回结果是一个base64字符串。GM_getResourceText函数可以获取加载资源的内容，如果是文本文件，这个内容就是实际的、你能看懂的内容，但如果是图片等二进制文件，返回的内容就是不可阅读的了，这时候要读取资源，就必须采用GM_getResourceURL方式。&lt;br /&gt;&lt;br /&gt;下面我们就介绍如果在Greasemonkey脚本中通过resource方式添加样式表。&lt;br /&gt;&lt;br /&gt;为了添加一个资源，当然我们需要有这么一个CSS样式表，你不会是想通过字符串连接的方法写入样式表吧？具体的方法如下所示：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;// @resource  cssfile http://www.somewhere.com/test1.css&lt;br /&gt;// @resource  cssfile http://www.somewhere.com/test2.css&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;先看看如何通过这个资源来加载样式表：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;$(document).ready(function() {&lt;br /&gt;    loadCssFromResource1("cssfile1");&lt;br /&gt;    loadCssFromResource2("cssfile2");&lt;br /&gt;});&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;下面是具体的通过link方式加载的函数代码：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;var loadCssFromResource1 = function(resourceName) {&lt;br /&gt;    var link = document.createElement("link");&lt;br /&gt;&lt;br /&gt;    link.href = GM_getResourceURL(resourceName).replace("undefined", "text/css");&lt;br /&gt;    link.type = "text/css";&lt;br /&gt;    link.rel = "stylesheet";&lt;br /&gt;&lt;br /&gt;    document.getElementsByTagName("head")[0].appendChild(link);&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;下面这个是通过style标签样式表的代码：&lt;br /&gt;&lt;pre class="source-code"&gt;&lt;code&gt;var loadCssFromResource2 = function(resourceName) {&lt;br /&gt;    var style = document.createElement("style");&lt;br /&gt;&lt;br /&gt;    style.type = "text/css";&lt;br /&gt;    style.appendChild(document.createTextNode(GM_getResourceText(resourceName)));&lt;br /&gt;&lt;br /&gt;    document.getElementsByTagName("head")[0].appendChild(style);&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;补充说明：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;采用GM_getResourceURL读取非图片类型的文件，无法获取文件的类型，但是不影响加载。&lt;/li&gt;&lt;li&gt;通过resource加载的资源可以不使用绝对路径，可以使用相对于脚本安装位置的相对路径。&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-2141781126895807558?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=2141781126895807558' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/2141781126895807558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/2141781126895807558'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2008/12/load-css-from-greasemonkey-script.html' title='代码片段 - 如何在Greasemonkey脚本中加载CSS'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-4840205758812085115</id><published>2008-12-23T13:36:00.006+08:00</published><updated>2008-12-25T18:29:06.248+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Firebug'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>用Inline Code Finder检查一下你的HTML代码吧！</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;在&lt;/span&gt;很长一段时间以来，快速开发和易于维护是相互冲突的，但是如果你可以遵照一些标准和规范来进行开发，在很大程度上可以保证鱼和熊掌兼得，但遵守标准本身就很难。尤其是一些短小的代码，可能一着急就会把他们内联到HTML中，只要一个两个可能看不出来，但假如有几十个上百个，你还会认为易于维护么？&lt;/p&gt;&lt;div class="fullpost"&gt;【扩展名称】&lt;a target="_blank" href="http://www.robertnyman.com/inline-code-finder/ "&gt;Inline Code Finder&lt;/a&gt;&lt;br /&gt;【扩展作者】&lt;a target="_blank" href="http://www.robertnyman.com/"&gt;Robert Nyman&lt;/a&gt;&lt;br /&gt;【下载地址】&lt;a target="_blank" href="https://addons.mozilla.org/firefox/addon/9641"&gt;https://addons.mozilla.org/firefox/addon/9641&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Jc--tI6-rmE/SVB_mrC8sMI/AAAAAAAAAME/UtW-GM9B3aY/s1600-h/1228781333.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 341px; height: 400px;" src="http://1.bp.blogspot.com/_Jc--tI6-rmE/SVB_mrC8sMI/AAAAAAAAAME/UtW-GM9B3aY/s400/1228781333.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5282862665272438978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Inline Code Finder是一个Firefox扩展，有两个版本，一个是独立的，一个是Firebug版本，功能都一样，本文介绍的是Firebug版本，目前最新版本是0.90，2008年12月17日发布，只有9KB大小，兼容于Firefox 2.0 - 3.1b2pre。Inline Code Finder可以帮你找出网站中那些让人看着恼火的内联代码，帮助你快速改进。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;内联代码？&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;第一个是内联的样式（Inline style），已经经过很多很多人的亲身实例证明，直接设置HTML元素的style属性是非常不容易维护的做法。成熟的做法应该是根据id或者class属性，通过head或者外部的CSS文件来设置样式。&lt;br /&gt;&lt;br /&gt;第二个是内联的JavaScript事件（Inline JavaScript events），比如直接在HTML元素的onclick内书写代码，这是非常典型的把表现层和行为层分不开的表现，对于某些简单的操作，这样做可能显得非常方便，但是代码冗余加上不利于维护的问题，似乎更加严重。&lt;br /&gt;&lt;br /&gt;第三个是在链接的href属性中直接编写javascript代码，达到点链接就执行相应操作。其实链接有click事件，不是么？&lt;br /&gt;&lt;br /&gt;&lt;b&gt;简单的使用说明&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;安装扩展以后，在Firebug上就会多出一个Tab：Inline Code Finder。点击这个Tab，在上方可以执行四个操作：&lt;br /&gt;Run：对当前页面执行测试，并在页面用不同颜色显示出来。内联事件为红色、内联样式为绿色、JavaScript链接为紫色。鼠标移动到颜色框内，会显示出内联的代码。&lt;br /&gt;Toggle：在显示测试结果和不显示测试结果两个状态间进行切换。&lt;br /&gt;Clear：清除测试结果。&lt;br /&gt;Hide：隐藏Firebug窗口。（独立版本应该是隐藏Inline Code Finder窗口）&lt;br /&gt;&lt;br /&gt;&lt;b&gt;设置&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;除了可以对是否进行这三项检查，做单独的启动设置外。Inline Code Finder还提供一个自动检查模式，打开的新页面会自动检查并显示测试结果。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;总结&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;对于Web开发者来说，这个扩展提供了一个非常实用的功能，基本上属于必备工具。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-4840205758812085115?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=4840205758812085115' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4840205758812085115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/4840205758812085115'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2008/12/inline-code-finder-for-firebug.html' title='用Inline Code Finder检查一下你的HTML代码吧！'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Jc--tI6-rmE/SVB_mrC8sMI/AAAAAAAAAME/UtW-GM9B3aY/s72-c/1228781333.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-738146269941231224</id><published>2008-12-23T12:55:00.002+08:00</published><updated>2008-12-25T18:24:45.165+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>John Resig - jQuery 1.3进入Beta测试阶段</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;这&lt;/span&gt;是John Resig博客2008年12月22日的文章。jQuery已经进入beta测试阶段，并计划在2009年1月14日正式发布，现在正需要大家进行广泛的深度测试。这个版本重写了相当多的模块，而且据说会非常让人振奋，让我们共同一起期待吧。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a href="http://blog.jquery.com/2008/12/22/help-test-jquery-13-beta-1/"&gt;Help Test jQuery 1.3 Beta 1&lt;/a&gt;&lt;br /&gt;【原文作者】&lt;a href="http://ejohn.org/about/"&gt;John Resig&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;以下是对原文的翻译：&lt;p&gt;为了能让jQuery类库的新版本尽快和大家见面，jQuery团队最近一直都在很努力的工作，而且工作的成果也已经显现，jQuery现在已经可 以经受一些深度的测试了。但在我们清除那些隐藏起来的Bug之前，很明显jQuery 1.3还不能作为一个成熟的产品供大家使用。&lt;/p&gt; &lt;p&gt;&lt;b&gt;下载&lt;/b&gt;&lt;/p&gt; &lt;p&gt;你可以在这里下载jQuery 1.3b1：&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://code.jquery.com/jquery-1.3b1.js" mce_href="http://code.jquery.com/jquery-1.3b1.js"&gt;http://code.jquery.com/jquery-1.3b1.js&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;测试的时候请大家不要下载minified或者packed版本，因为使用这两个版本，就算你发现了问题，也很难定位出错的代码。&lt;/p&gt; &lt;p&gt;&lt;b&gt;主要的修改&lt;/b&gt;&lt;/p&gt; &lt;p&gt;下面这几个地方在新版本中做了较大的修改，而且是很有可能出错的部分：&lt;/p&gt; &lt;ul&gt;&lt;li&gt;选择器引擎 - 我们将选择器部分的代码基本上重写了一遍，有一些边界情况现在可能还没有考虑到。&lt;/li&gt;&lt;li&gt;DOM操作(append/prepend/before/after) - 这部分代码大部分也被重写了，主要是在执行内联脚本的逻辑上。&lt;/li&gt;&lt;li&gt;.offset() - 又一个被完全重写的方法。&lt;/li&gt;&lt;li&gt;事件命名空间（Event Namespaces） - 处理命名的事件的逻辑被重写了。&lt;/li&gt;&lt;li&gt;事件触发机制（Event Triggering） - 现在触发事件的话，冒泡模型会一直关联到DOM，但这好像会在某些代码中引发问题。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;我们在这里没有列举出jQuery 1.3中具体添加了哪些新特性，这个工作我们会等到最终发布的时候来做，初步计划是在2009年1月14日。对于大家将要提供的任何反馈，我代表jQuery团队表示由衷的感谢。&lt;/p&gt; &lt;p&gt;&lt;b&gt;如何提供反馈&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;在&lt;a href="http://dev.jquery.com/" mce_href="http://dev.jquery.com/"&gt;jQuery bug tracker&lt;/a&gt;提交缺陷报告（当然你要先注册一个帐号）。&lt;/li&gt;&lt;li&gt;对于你所提交的，在测试过程中发现的问题，请确保附带一个简单的测试用例，也可以把发现问题网站的链接发给我们。&lt;/li&gt;&lt;li&gt;需要注意的是，我们需要你测试的版本是“jQuery 1.3 Beta 1”，不要弄错了。&lt;/li&gt;&lt;li&gt;将你的测试用例和缺陷报告邮寄给&lt;a href="http://groups.google.com/group/jquery-dev" mce_href="http://groups.google.com/group/jquery-dev"&gt;jQuery Dev list&lt;/a&gt;，这样开发团队就能及时关注你所发现的问题。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;再次感谢所有参与测试的朋友，这将是一个非常棒的版本，我们已经迫不及待的想快点把她送到你身边。&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-738146269941231224?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=738146269941231224' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/738146269941231224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/738146269941231224'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2008/12/help-test-jquery-13-beta-1.html' title='John Resig - jQuery 1.3进入Beta测试阶段'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-5225564211742108271</id><published>2008-12-23T00:19:00.007+08:00</published><updated>2008-12-25T18:29:06.249+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Firebug'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>FireUnit - 体验测试驱动的JavaScript开发</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;F&lt;/span&gt;ireUnit是一个Firefox扩展，同时也是一个Firebug扩展，这个扩展提供了一堆API可以帮助你实现JavaScript代码的单元测试，还在Firebug的一堆Tab中再增加一个用于显示测试结果。现在提供的还是很基本的测试，但是我们要相信这个扩展的潜力，因为它的作者是John Resig和Jan Odvarko，什么？没听过他们？小声问句，你听过JavaScript没有？&lt;/p&gt;&lt;div class="fullpost"&gt;【原文标题】&lt;a href="http://ejohn.org/blog/fireunit/"&gt;http://ejohn.org/blog/fireunit/&lt;/a&gt;&lt;br /&gt;【原文作者】&lt;a href="http://ejohn.org/about/"&gt;John Resig&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;以下内容是对原文的翻译：&lt;br /&gt;&lt;br /&gt;在和Firebug团队一起工作的几个月里，我和&lt;a href="http://www.softwareishard.com/" mce_href="http://www.softwareishard.com/"&gt;Jan Odvarko&lt;/a&gt;尝试建立一种对JavaScript进行单元测试的方法，这段工作的最后成果是一个叫做&lt;a href="http://fireunit.org/" mce_href="http://fireunit.org/"&gt;FireUnit&lt;/a&gt;的Firefox/Firebug扩展。&lt;div class="postentry"&gt; &lt;blockquote&gt; &lt;p&gt;FireUnit提供了一组JavaScript API，可以进行简单的单元测试，同时把结果显示在Firebug中新增的Tab栏下。&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;下面就是几个利用FireUnit API进行单元测试的例子（现在我们只提供一些基本的方法，以后就会扩展出更多的方法）。&lt;/p&gt; &lt;div class="syntax_hilite"&gt; &lt;div&gt; &lt;div&gt;&lt;span style="font-style: italic;color:#009900;" &gt;// 最简单的true-like/false-like测试&lt;/span&gt;&lt;br /&gt;fireunit.&lt;span style=";color:#006600;" &gt;ok&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt; &lt;span style="font-weight: bold;color:#003366;" &gt;true&lt;/span&gt;, &lt;span style=";color:#3366cc;" &gt;"I'm going to pass!"&lt;/span&gt; &lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt;;&lt;br /&gt;fireunit.&lt;span style=";color:#006600;" &gt;ok&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt; &lt;span style="font-weight: bold;color:#003366;" &gt;false&lt;/span&gt;, &lt;span style=";color:#3366cc;" &gt;"I'm going to fail!"&lt;/span&gt; &lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt;; &lt;p&gt;&lt;span style="font-style: italic;color:#009900;" &gt;// 比较两个字符串 - 并将差异显示出来&lt;/span&gt;&lt;br /&gt;fireunit.&lt;span style=";color:#006600;" &gt;compare&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt;&lt;br /&gt;  &lt;span style=";color:#3366cc;" &gt;"The lazy fox jumped over the log."&lt;/span&gt;,&lt;br /&gt;  &lt;span style=";color:#3366cc;" &gt;"The lazy brown fox jumped the log."&lt;/span&gt;,&lt;br /&gt;  &lt;span style=";color:#3366cc;" &gt;"Are these two strings the same?"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt;;&lt;/p&gt; &lt;p&gt;&lt;span style="font-style: italic;color:#009900;" &gt;// 用正则表达式比较字符串&lt;/span&gt;&lt;br /&gt;fireunit.&lt;span style=";color:#006600;" &gt;reCompare&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt;&lt;br /&gt;  &lt;span style=";color:#0066ff;" &gt;/The .* fox jumped the log./&lt;/span&gt;,&lt;br /&gt;  &lt;span style=";color:#3366cc;" &gt;"The lazy brown fox jumped the log."&lt;/span&gt;,&lt;br /&gt;  &lt;span style=";color:#3366cc;" &gt;"Compare a string using a RegExp."&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt;;&lt;/p&gt; &lt;p&gt;&lt;span style="font-style: italic;color:#009900;" &gt;// 显示全部结果&lt;/span&gt;&lt;br /&gt;fireunit.&lt;span style=";color:#006600;" &gt;testDone&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt;;&lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;单元测试的结果会显示在Firebug中叫做Test的Tab中（当然为了让FireUnit运行，必须先安装FireBug）。结果页面中的每一项都可以通过展开显示详细信息，包括测试的跟踪记录，以及字符串比较的区别等。&lt;/p&gt; &lt;img src="http://fireunit.org/fireunit-1.png" mce_src="http://fireunit.org/fireunit-1.png" alt="" /&gt;&lt;p&gt;FireUnit也提供了一组方法，用于模拟本地的浏览器事件&lt;/p&gt; &lt;div class="syntax_hilite"&gt; &lt;div&gt; &lt;div&gt;&lt;span style="font-style: italic;color:#009900;" &gt;// 你可以通过下面的方式模拟浏览器事件&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;color:#003366;" &gt;var&lt;/span&gt; input = document.&lt;span style=";color:#006600;" &gt;getElementsByTagName&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt;&lt;span style=";color:#3366cc;" &gt;"input"&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;[&lt;/span&gt;&lt;span style=";color:#cc0000;" &gt;0&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;]&lt;/span&gt;;&lt;br /&gt;fireunit.&lt;span style=";color:#006600;" &gt;mouseDown&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt; input &lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt;;&lt;br /&gt;fireunit.&lt;span style=";color:#006600;" &gt;click&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt; input &lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt;;&lt;br /&gt;fireunit.&lt;span style=";color:#006600;" &gt;focus&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt; input &lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt;;&lt;br /&gt;fireunit.&lt;span style=";color:#006600;" &gt;key&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt; input, &lt;span style=";color:#3366cc;" &gt;"a"&lt;/span&gt; &lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt;;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;And a way of running a batch of test files (each of which would contain a number of individual tests).&lt;/p&gt; &lt;div class="syntax_hilite"&gt; &lt;div&gt; &lt;div&gt;&lt;span style="font-style: italic;color:#009900;" &gt;// 或者可以一起运行多个页面的测试&lt;/span&gt;&lt;br /&gt;fireunit.&lt;span style=";color:#006600;" &gt;runTests&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt;&lt;span style=";color:#3366cc;" &gt;"test2.html"&lt;/span&gt;, &lt;span style=";color:#3366cc;" &gt;"test3.html"&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt;; &lt;p&gt;&lt;span style="font-style: italic;color:#009900;" &gt;// 测试文件的结尾标识&lt;/span&gt;&lt;br /&gt;fireunit.&lt;span style=";color:#006600;" &gt;testDone&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt;;&lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;我们通过这种方式设计了很多Firebug测试用例，尤其针对那些基于网络的功能。&lt;/p&gt; &lt;img src="http://www.softwareishard.com/images/posts/fireunit/fireunit-ui-thumb.png" mce_src="http://www.softwareishard.com/images/posts/fireunit/fireunit-ui-thumb.png" alt="" /&gt;&lt;p&gt;现有的测试用例，只要通过简单的改写，就可以在FireUnit直接显示结果。&lt;/p&gt; &lt;p&gt;&lt;a href="http://fireunit.org/jquery/test/" mce_href="http://fireunit.org/jquery/test/"&gt;jQuery选择符的测试用例&lt;/a&gt;是由下面的代码片段组成的：&lt;/p&gt; &lt;div class="syntax_hilite"&gt; &lt;div&gt; &lt;div&gt;&lt;span style="font-weight: bold;color:#000066;" &gt;if&lt;/span&gt; &lt;span style="font-weight: bold;color:#008800;" &gt;(&lt;/span&gt; &lt;span style="font-weight: bold;color:#000066;" &gt;typeof&lt;/span&gt; fireunit === &lt;span style=";color:#3366cc;" &gt;"object"&lt;/span&gt; &lt;span style="font-weight: bold;color:#008800;" &gt;)&lt;/span&gt; &lt;span style="font-weight: bold;color:#008800;" &gt;{&lt;/span&gt;&lt;br /&gt;        QUnit.&lt;span style=";color:#006600;" &gt;log&lt;/span&gt; = fireunit.&lt;span style=";color:#006600;" &gt;ok&lt;/span&gt;;&lt;br /&gt;        QUnit.&lt;span style=";color:#006600;" &gt;done&lt;/span&gt; = fireunit.&lt;span style=";color:#006600;" &gt;testDone&lt;/span&gt;;&lt;br /&gt;&lt;span style="font-weight: bold;color:#008800;" &gt;}&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;p&gt;这个测试用例的结果如下所示：&lt;/p&gt; &lt;img src="http://fireunit.org/fireunit-2.png" mce_src="http://fireunit.org/fireunit-2.png" alt="" /&gt;&lt;p&gt;如果你要开始使用FireUnit，可以先去&lt;a href="http://fireunit.org/" mce_href="http://fireunit.org/"&gt;Fireunit.org&lt;/a&gt;看看，顺便下载最新版本。&lt;/p&gt; &lt;p&gt;你也可以到Github去下载&lt;a href="http://github.com/jeresig/fireunit" mce_href="http://github.com/jeresig/fireunit"&gt;源代码&lt;/a&gt;。&lt;/p&gt; &lt;p&gt;Jan也在自己的博客上写了一篇更加详细的&lt;a href="http://www.softwareishard.com/blog/firebug/fireunit-testing-in-the-firebug-world/" mce_href="http://www.softwareishard.com/blog/firebug/fireunit-testing-in-the-firebug-world/"&gt;文章&lt;/a&gt;，介绍我们如何在Firebug的开发过程中应用FireUnit。&lt;/p&gt; &lt;p&gt;这个项目现在还处在雏形阶段，还有很大的提升空间，我们需要大家的反馈。&lt;/p&gt; &lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://cuimingda.com/"&gt;七月佑安&lt;/a&gt; - Yet Another JavaScript Nerd&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11890499-5225564211742108271?l=cuimingda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11890499&amp;postID=5225564211742108271' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/5225564211742108271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11890499/posts/default/5225564211742108271'/><link rel='alternate' type='text/html' href='http://cuimingda.blogspot.com/2008/12/firefox-firebug-extension-fireunit.html' title='FireUnit - 体验测试驱动的JavaScript开发'/><author><name>明达</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11890499.post-5687089131773375450</id><published>2008-12-11T15:14:00.005+08:00</published><updated>2009-01-10T15:38:46.349+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Knowledge'/><title type='text'>GB2312字符集与编码对照表（和荣版）</title><content type='html'>&lt;p&gt;&lt;span class="dropcaps"&gt;&lt;/span&gt;GB2312是什么？大家可能都知道是一个关于简体中文汉字的国家标准，可是再深究就不知道了，我也是啊。幸好杨和荣博士整理了一份《GB2312字符集与编码对照表》，让我对GB2312的来龙去脉一下子清晰好多。原文分成很多页，查找不是很方便，我花了一下午都整理到这篇文章中，希望能对大家有帮助。原文中有两段GB2312和Unicode互相转换的Java代码，和Unicode到Gb2312反向查询表没有包括在本文中。&lt;/p&gt;&lt;div class="fullpost"&gt;【原文名称】和荣笔记 - GB2312 字符集与编码对照表&lt;br /&gt;【原文地址】&lt;a target="_blank" href="http://www.herongyang.com/gb2312_gb/index.html"&gt;http://www.herongyang.com/gb2312_gb/index.html&lt;/a&gt;&lt;br /&gt;【原文作者】杨和荣&lt;br /&gt;【版权说明】文章内容版权归杨和荣所有，原作者声明可以自由转载，但需要保留版权信息。大家如果要转载本博客的版本，除了保留原作者的版权信息，还要保留本文地址。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;什么是GB2312字符集&lt;/b&gt;&lt;br /&gt;GB2312是汉字字符集和编码的代号，中文全称为“信息交换用汉字编码字符集”，由中华人民共和国国家标准总局发布，1981年5月1日实施。GB是“国标” 二字的汉语拼音缩写。GB2312字符集只收录简化字汉字，以及一般常用字母和符号，主要通行于中国大陆地区和新加坡等地。&lt;br /&gt;&lt;br /&gt;GB2312共收录有7445个字符，其中简化汉字6763个，字母和符号682个。GB2312将所收录的字符分为94个区，编号为01区至94区；每个区收录94个字符，编号为01位至94位。GB2312的每一个字符都由与其唯一对应的区号和位号所确定。例如：汉字“啊”，编号为16区01位。&lt;br /&gt;&lt;br /&gt;GB2312字符集的区位分布表：&lt;br /&gt;&lt;pre&gt;  区号    字数    字符类别&lt;br /&gt;   01      94    一般符号&lt;br /&gt;   02      72    顺序号码&lt;br /&gt;   03      94    拉丁字母&lt;br /&gt;   04      83    日文片假名&lt;br /&gt;   05      86    日文片假名&lt;br /&gt;   06      48    希腊字母&lt;br /&gt;   07      66    俄文字母&lt;br /&gt;   08      63    汉语拼音符号&lt;br /&gt;   09      76    图形符号&lt;br /&gt;10-15            备用区&lt;br /&gt;16-55    3755    一级汉字，以拼音为序&lt;br /&gt;56-87    3008    二级汉字，以笔划为序&lt;br /&gt;88-94            备用区&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;什么是GB2312编码&lt;/b&gt;&lt;br /&gt;GB2312原始编码 (encoding) 是对所收录的每个字符都用两个字节 (byte) 表示。第一字节为“高字节”，由字符的区号值加上 32 而形成；第二字节为“低字节”，由字符的位号值加上 32 而形成。例如：汉字“啊”，编号为 16 区 01 位。它的高字节为 16 + 32 = 48 (0x30)，低字节为 01 + 32 = 33 (0x21)，合并而成的编码为 0x3021。在区位号值上加 32 的原因大慨是为了避开低值字节区间。&lt;br /&gt;&lt;br /&gt;由于 GB2312 原始编码与 ASCII 编码的字节有重叠，现在通行的 GB2312 编码是在原始编码的两个字节上各加 128 修改而形成。例如：汉字“啊”，编号为 16 区 01 位。它的原始编码为 0x3021，通行编码为 0xB0A1。如果不另加说明，GB2312 常指这种修改过的编码。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;GB2312与Unicode的关系&lt;/b&gt;&lt;br /&gt;GB2312 字符集是 Unicode 字符集的一个子集。这也就是说，GB2312 所收录的每一个字符都收录在 Unicode 之中。&lt;br /&gt;&lt;br /&gt;但是 GB2312 编码和 Unicode 编码确没有什么相同之处。同一个汉字，它的 GB2312 编码和 Unicode 编码确毫不相同。例如：汉字“啊”，它的 GB2312 编码为 0xB0A1，但是它的 Unicode 编码为 0x554A。&lt;br /&gt;&lt;br /&gt;本文剩余部分为GB2312的每一个字符列出了它所对应的 Unicode 编码和 UTF-8 (Unicode Transformation Format - 8-bit) 编码，包括字母和符号（1-9）、一级汉字（16-55）和二级汉字（56-87）。所有的数据分两列显示，每列包括五小列，分别对应：区位码、字符、GB2312编码、Unicode编码和UTF-8编码。&lt;br /&gt;&lt;br /&gt;&lt;pre class="block_source"&gt;Q.W. 　 GB   Uni. UTF-8    Q.W. 　 GB   Uni. UTF-8&lt;br /&gt;&lt;br /&gt;0101 　 A1A1 3000 E38080   0102 、 A1A2 3001 E38081&lt;br /&gt;0103 。 A1A3 3002 E38082   0104 · A1A4 00B7 C2B7 &lt;br /&gt;0105 ˉ A1A5 02C9 CB89     0106 ˇ A1A6 02C7 CB87 &lt;br /&gt;0107 ¨ A1A7 00A8 C2A8     0108 〃 A1A8 3003 E38083&lt;br /&gt;0109 々 A1A9 3005 E38085   0110 — A1AA 2014 E28094&lt;br /&gt;0111 ～ A1AB FF5E EFBD9E   0112 ‖ A1AC 2016 E28096&lt;br /&gt;0113 … A1AD 2026 E280A6   0114 ‘ A1AE 2018 E28098&lt;br /&gt;0115 ’ A1AF 2019 E28099   0116 “ A1B0 201C E2809C&lt;br /&gt;0117 ” A1B1 201D E2809D   0118 〔 A1B2 3014 E38094&lt;br /&gt;0119 〕 A1B3 3015 E38095   0120 〈 A1B4 3008 E38088&lt;br /&gt;0121 〉 A1B5 3009 E38089   0122 《 A1B6 300A E3808A&lt;br /&gt;0123 》 A1B7 300B E3808B   0124 「 A1B8 300C E3808C&lt;br /&gt;0125 」 A1B9 300D E3808D   0126 『 A1BA 300E E3808E&lt;br /&gt;0127 』 A1BB 300F E3808F   0128 〖 A1BC 3016 E38096&lt;br /&gt;0129 〗 A1BD 3017 E38097   0130 【 A1BE 3010 E38090&lt;br /&gt;0131 】 A1BF 3011 E38091   0132 ± A1C0 00B1 C2B1 &lt;br /&gt;0133 × A1C1 00D7 C397     0134 ÷ A1C2 00F7 C3B7 &lt;br /&gt;0135 ∶ A1C3 2236 E288B6   0136 ∧ A1C4 2227 E288A7&lt;br /&gt;0137 ∨ A1C5 2228 E288A8   0138 ∑ A1C6 2211 E28891&lt;br /&gt;0139 ∏ A1C7 220F E2888F   0140 ∪ A1C8 222A E288AA&lt;br /&gt;0141 ∩ A1C9 2229 E288A9   0142 ∈ A1CA 2208 E28888&lt;br /&gt;0143 ∷ A1CB 2237 E288B7   0144 √ A1CC 221A E2889A&lt;br /&gt;0145 ⊥ A1CD 22A5 E28AA5   0146 ∥ A1CE 2225 E288A5&lt;br /&gt;0147 ∠ A1CF 2220 E288A0   0148 ⌒ A1D0 2312 E28C92&lt;br /&gt;0149 ⊙ A1D1 2299 E28A99   0150 ∫ A1D2 222B E288AB&lt;br /&gt;0151 ∮ A1D3 222E E288AE   0152 ≡ A1D4 2261 E289A1&lt;br /&gt;0153 ≌ A1D5 224C E2898C   0154 ≈ A1D6 2248 E28988&lt;br /&gt;0155 ∽ A1D7 223D E288BD   0156 ∝ A1D8 221D E2889D&lt;br /&gt;0157 ≠ A1D9 2260 E289A0   0158 ≮ A1DA 226E E289AE&lt;br /&gt;0159 ≯ A1DB 226F E289AF   0160 ≤ A1DC 2264 E289A4&lt;br /&gt;0161 ≥ A1DD 2265 E289A5   0162 ∞ A1DE 221E E2889E&lt;br /&gt;0163 ∵ A1DF 2235 E288B5   0164 ∴ A1E0 2234 E288B4&lt;br /&gt;0165 ♂ A1E1 2642 E29982   0166 ♀ A1E2 2640 E29980&lt;br /&gt;0167 ° A1E3 00B0 C2B0     0168 ′ A1E4 2032 E280B2&lt;br /&gt;0169 ″ A1E5 2033 E280B3   0170 ℃ A1E6 2103 E28483&lt;br /&gt;0171 ＄ A1E7 FF04 EFBC84   0172 ¤ A1E8 00A4 C2A4 &lt;br /&gt;0173 ￠ A1E9 FFE0 EFBFA0   0174 ￡ A1EA FFE1 EFBFA1&lt;br /&gt;0175 ‰ A1EB 2030 E280B0   0176 § A1EC 00A7 C2A7 &lt;br /&gt;0177 № A1ED 2116 E28496   0178 ☆ A1EE 2606 E29886&lt;br /&gt;0179 ★ A1EF 2605 E29885   0180 ○ A1F0 25CB E2978B&lt;br /&gt;0181 ● A1F1 25CF E2978F   0182 ◎ A1F2 25CE E2978E&lt;br /&gt;0183 ◇ A1F3 25C7 E29787   0184 ◆ A1F4 25C6 E29786&lt;br /&gt;0185 □ A1F5 25A1 E296A1   0186 ■ A1F6 25A0 E296A0&lt;br /&gt;0187 △ A1F7 25B3 E296B3   0188 ▲ A1F8 25B2 E296B2&lt;br /&gt;0189 ※ A1F9 203B E280BB   0190 → A1FA 2192 E28692&lt;br /&gt;0191 ← A1FB 2190 E28690   0192 ↑ A1FC 2191 E28691&lt;br /&gt;0193 ↓ A1FD 2193 E28693   0194 〓 A1FE 3013 E38093&lt;br /&gt;0201 　 null null null     0202 　 null null null  &lt;br /&gt;0203 　 null null null     0204 　 null null null  &lt;br /&gt;0205 　 null null null     0206 　 null null null  &lt;br /&gt;0207 　 null null null     0208 　 null null null  &lt;br /&gt;0209 　 null null null     0210 　 null null null  &lt;br /&gt;0211 　 null null null     0212 　 null null null  &lt;br /&gt;0213 　 null null null     0214 　 null null null  &lt;br /&gt;0215 　 null null null     0216 　 null null null  &lt;br /&gt;0217 ⒈ A2B1 2488 E29288   0218 ⒉ A2B2 2489 E29289&lt;br /&gt;0219 ⒊ A2B3 248A E2928A   0220 ⒋ A2B4 248B E2928B&lt;br /&gt;0221 ⒌ A2B5 248C E2928C   0222 ⒍ A2B6 248D E2928D&lt;br /&gt;0223 ⒎ A2B7 248E E2928E   0224 ⒏ A2B8 248F E2928F&lt;br /&gt;0225 ⒐ A2B9 2490 E29290   0226 ⒑ A2BA 2491 E29291&lt;br /&gt;0227 ⒒ A2BB 2492 E29292   0228 ⒓ A2BC 2493 E29293&lt;br /&gt;0229 ⒔ A2BD 2494 E29294   0230 ⒕ A2BE 2495 E29295&lt;br /&gt;0231 ⒖ A2BF 2496 E29296   0232 ⒗ A2C0 2497 E29297&lt;br /&gt;0233 ⒘ A2C1 2498 E29298   0234 ⒙ A2C2 2499 E29299&lt;br /&gt;0235 ⒚ A2C3 249A E2929A   0236 ⒛ A2C4 249B E2929B&lt;br /&gt;0237 ⑴ A2C5 2474 E291B4   0238 ⑵ A2C6 2475 E291B5&lt;br /&gt;0239 ⑶ A2C7 2476 E291B6   0240 ⑷ A2C8 2477 E291B7&lt;br /&gt;0241 ⑸ A2C9 2478 E291B8   0242 ⑹ A2CA 2479 E291B9&lt;br /&gt;0243 ⑺ A2CB 247A E291BA   0244 ⑻ A2CC 247B E291BB&lt;br /&gt;0245 ⑼ A2CD 247C E291BC   0246 ⑽ A2CE 247D E291BD&lt;br /&gt;0247 ⑾ A2CF 247E E291BE   0248 ⑿ A2D0 247F E291BF&lt;br /&gt;0249 ⒀ A2D1 2480 E29280   0250 ⒁ A2D2 2481 E29281&lt;br /&gt;0251 ⒂ A2D3 2482 E29282   0252 ⒃ A2D4 2483 E29283&lt;br /&gt;0253 ⒄ A2D5 2484 E29284   0254 ⒅ A2D6 2485 E29285&lt;br /&gt;0255 ⒆ A2D7 2486 E29286   0256 ⒇ A2D8 2487 E29287&lt;br /&gt;0257 ① A2D9 2460 E291A0   0258 ② A2DA 2461 E291A1&lt;br /&gt;0259 ③ A2DB 2462 E291A2   0260 ④ A2DC 2463 E291A3&lt;br /&gt;0261 ⑤ A2DD 2464 E291A4   0262 ⑥ A2DE 2465 E291A5&lt;br /&gt;0263 ⑦ A2DF 2466 E291A6   0264 ⑧ A2E0 2467 E291A7&lt;br /&gt;0265 ⑨ A2E1 2468 E291A8   0266 ⑩ A2E2 2469 E291A9&lt;br /&gt;0267 　 null null null     0268 　 null null null  &lt;br /&gt;0269 ㈠ A2E5 3220 E388A0   0270 ㈡ A2E6 3221 E388A1&lt;br /&gt;0271 ㈢ A2E7 3222 E388A2   0272 ㈣ A2E8 3223 E388A3&lt;br /&gt;0273 ㈤ A2E9 3224 E388A4   0274 ㈥ A2EA 3225 E388A5&lt;br /&gt;0275 ㈦ A2EB 3226 E388A6   0276 ㈧ A2EC 3227 E388A7&lt;br /&gt;0277 ㈨ A2ED 3228 E388A8   0278 ㈩ A2EE 3229 E388A9&lt;br /&gt;0279 　 null null null     0280 　 null null null  &lt;br /&gt;0281 Ⅰ A2F1 2160 E285A0   0282 Ⅱ A2F2 2161 E285A1&lt;br /&gt;0283 Ⅲ A2F3 2162 E285A2   0284 Ⅳ A2F4 2163 E285A3&lt;br /&gt;0285 Ⅴ A2F5 2164 E285A4   0286 Ⅵ A2F6 2165 E285A5&lt;br /&gt;0287 Ⅶ A2F7 2166 E285A6   0288 Ⅷ A2F8 2167 E285A7&lt;br /&gt;0289 Ⅸ A2F9 2168 E285A8   0290 Ⅹ A2FA 2169 E285A9&lt;br /&gt;0291 Ⅺ A2FB 216A E285AA   0292 Ⅻ A2FC 216B E285AB&lt;br /&gt;0293 　 null null null     0294 　 null null null  &lt;br /&gt;0301 ！ A3A1 FF01 EFBC81   0302 ＂ A3A2 FF02 EFBC82&lt;br /&gt;0303 ＃ A3A3 FF03 EFBC83   0304 ￥ A3A4 FFE5 EFBFA5&lt;br /&gt;0305 ％ A3A5 FF05 EFBC85   0306 ＆ A3A6 FF06 EFBC86&lt;br /&gt;0307 ＇ A3A7 FF07 EFBC87   0308 （ A3A8 FF08 EFBC88&lt;br /&gt;0309 ） A3A9 FF09 EFBC89   0310 ＊ A3AA FF0A EFBC8A&lt;br /&gt;0311 ＋ A3AB FF0B EFBC8B   0312 ， A3AC FF0C EFBC8C&lt;br /&gt;0313 － A3AD FF0D EFBC8D   0314 ． A3AE FF0E EFBC8E&lt;br /&gt;0315 ／ A3AF FF0F EFBC8F   0316 ０ A3B0 FF10 EFBC90&lt;br /&gt;0317 １ A3B1 FF11 EFBC91   0318 ２ A3B2 FF12 EFBC92&lt;br /&gt;0319 ３ A3B3 FF13 EFBC93   0320 ４ A3B4 FF14 EFBC94&lt;br /&gt;0321 ５ A3B5 FF15 EFBC95   0322 ６ A3B6 FF16 EFBC96&lt;br /&gt;0323 ７ A3B7 FF17 EFBC97   0324 ８ A3B8 FF18 EFBC98&lt;br /&gt;0325 ９ A3B9 FF19 EFBC99   0326 ： A3BA FF1A EFBC9A&lt;br /&gt;0327 ； A3BB FF1B EFBC9B   0328 ＜ A3BC FF1C EFBC9C&lt;br /&gt;0329 ＝ A3BD FF1D EFBC9D   0330 ＞ A3BE FF1E EFBC9E&lt;br /&gt;0331 ？ A3BF FF1F EFBC9F   0332 ＠ A3C0 FF20 EFBCA0&lt;br /&gt;0333 Ａ A3C1 FF21 EFBCA1   0334 Ｂ A3C2 FF22 EFBCA2&lt;br /&gt;0335 Ｃ A3C3 FF23 EFBCA3   0336 Ｄ A3C4 FF24 EFBCA4&lt;br /&gt;0337 Ｅ A3C5 FF25 EFBCA5   0338 Ｆ A3C6 FF26 EFBCA6&lt;br /&gt;0339 Ｇ A3C7 FF27 EFBCA7   0340 Ｈ A3C8 FF28 EFBCA8&lt;br /&gt;0341 Ｉ A3C9 FF29 EFBCA9   0342 Ｊ A3CA FF2A EFBCAA&lt;br /&gt;0343 Ｋ A3CB FF2B EFBCAB   0344 Ｌ A3CC FF2C EFBCAC&lt;br /&gt;0345 Ｍ A3CD FF2D EFBCAD   0346 Ｎ A3CE FF2E EFBCAE&lt;br /&gt;0347 Ｏ A3CF FF2F EFBCAF   0348 Ｐ A3D0 FF30 EFBCB0&lt;br /&gt;0349 Ｑ A3D1 FF31 EFBCB1   0350 Ｒ A3D2 FF32 EFBCB2&lt;br /&gt;0351 Ｓ A3D3 FF33 EFBCB3   0352 Ｔ A3D4 FF34 EFBCB4&lt;br /&gt;0353 Ｕ A3D5 FF35 EFBCB5   0354 Ｖ A3D6 FF36 EFBCB6&lt;br /&gt;0355 Ｗ A3D7 FF37 EFBCB7   0356 Ｘ A3D8 FF38 EFBCB8&lt;br /&gt;0357 Ｙ A3D9 FF39 EFBCB9   0358 Ｚ A3DA FF3A EFBCBA&lt;br /&gt;0359 ［ A3DB FF3B EFBCBB   0360 ＼ A3DC FF3C EFBCBC&lt;br /&gt;0361 ］ A3DD FF3D EFBCBD   0362 ＾ A3DE FF3E EFBCBE&lt;br /&gt;0363 ＿ A3DF FF3F EFBCBF   0364 ｀ A3E0 FF40 EFBD80&lt;br /&gt;0365 ａ A3E1 FF41 EFBD81   0366 ｂ A3E2 FF42 EFBD82&lt;br /&gt;0367 ｃ A3E3 FF43 EFBD83   0368 ｄ A3E4 FF44 EFBD84&lt;br /&gt;0369 ｅ A3E5 FF45 EFBD85   0370 ｆ A3E6 FF46 EFBD86&lt;br /&gt;0371 ｇ A3E7 FF47 EFBD87   0372 ｈ A3E8 FF48 EFBD88&lt;br /&gt;0373 ｉ A3E9 FF49 EFBD89   0374 ｊ A3EA FF4A EFBD8A&lt;br /&gt;0375 ｋ A3EB FF4B EFBD8B   0376 ｌ A3EC FF4C EFBD8C&lt;br /&gt;0377 ｍ A3ED FF4D EFBD8D   0378 ｎ A3EE FF4E EFBD8E&lt;br /&gt;0379 ｏ A3EF FF4F EFBD8F   0380 ｐ A3F0 FF50 EFBD90&lt;br /&gt;0381 ｑ A3F1 FF51 EFBD91   0382 ｒ A3F2 FF52 EFBD92&lt;br /&gt;0383 ｓ A3F3 FF53 EFBD93   0384 ｔ A3F4 FF54 EFBD94&lt;br /&gt;0385 ｕ A3F5 FF55 EFBD95   0386 ｖ A3F6 FF56 EFBD96&lt;br /&gt;0387 ｗ A3F7 FF57 EFBD97   0388 ｘ A3F8 FF58 EFBD98&lt;br /&gt;0389 ｙ A3F9 FF59 EFBD99   0390 ｚ A3FA FF5A EFBD9A&lt;br /&gt;0391 ｛ A3FB FF5B EFBD9B   0392 ｜ A3FC FF5C EFBD9C&lt;br /&gt;0393 ｝ A3FD FF5D EFBD9D   0394 ￣ A3FE FFE3 EFBFA3&lt;br /&gt;0401 ぁ A4A1 3041 E38181   0402 あ A4A2 3042 E38182&lt;br /&gt;0403 ぃ A4A3 3043 E38183   0404 い A4A4 3044 E38184&lt;br /&gt;0405 ぅ A4A5 3045 E38185   0406 う A4A6 3046 E38186&lt;br /&gt;0407 ぇ A4A7 3047 E38187   0408 え A4A8 3048 E38188&lt;br /&gt;0409 ぉ A4A9 3049 E38189   0410 お A4AA 304A E3818A&lt;br /&gt;0411 か A4AB 304B E3818B   0412 が A4AC 304C E3818C&lt;br /&gt;0413 き A4AD 304D E3818D   0414 ぎ A4AE 304E E3818E&lt;br /&gt;0415 く A4AF 304F E3818F   0416 ぐ A4B0 3050 E38190&lt;br /&gt;0417 け A4B1 3051 E38191   0418 げ A4B2 3052 E38192&lt;br /&gt;0419 こ A4B3 3053 E38193   0420 ご A4B4 3054 E38194&lt;br /&gt;0421 さ A4B5 3055 E38195   0422 ざ A4B6 3056 E38196&lt;br /&gt;0423 し A4B7 3057 E38197   0424 じ A4B8 3058 E38198&lt;br /&gt;0425 す A4B9 3059 E38199   0426 ず A4BA 305A E3819A&lt;br /&gt;0427 せ A4BB 305B E3819B   0428 ぜ A4BC 305C E3819C&lt;br /&gt;0429 そ A4BD 305D E3819D   0430 ぞ A4BE 305E E3819E&lt;br /&gt;0431 た A4BF 305F E3819F   0432 だ A4C0 3060 E381A0&lt;br /&gt;0433 ち A4C1 3061 E381A1   0434 ぢ A4C2 3062 E381A2&lt;br /&gt;0435 っ A4C3 3063 E381A3   0436 つ A4C4 3064 E381A4&lt;br /&gt;0437 づ A4C5 3065 E381A5   0438 て A4C6 3066 E381A6&lt;br /&gt;0439 で A4C7 3067 E381A7   0440 と A4C8 3068 E381A8&lt;br /&gt;0441 ど A4C9 3069 E381A9   0442 な A4CA 306A E381AA&lt;br /&gt;0443 に A4CB 306B E381AB   0444 ぬ A4CC 306C E381AC&lt;br /&gt;0445 ね A4CD 306D E381AD   0446 の A4CE 306E E381AE&lt;br /&gt;0447 は A4CF 306F E381AF   0448 ば A4D0 3070 E381B0&lt;br /&gt;0449 ぱ A4D1 3071 E381B1   0450 ひ A4D2 3072 E381B2&lt;br /&gt;0451 び A4D3 3073 E381B3   0452 ぴ A4D4 3074 E381B4&lt;br /&gt;0453 ふ A4D5 3075 E381B5   0454 ぶ A4D6 3076 E381B6&lt;br /&gt;0455 ぷ A4D7 3077 E381B7   0456 へ A4D8 3078 E381B8&lt;br /&gt;0457 べ A4D9 3079 E381B9   0458 ぺ A4DA 307A E381BA&lt;br /&gt;0459 ほ A4DB 307B E381BB   0460 ぼ A4DC 307C E381BC&lt;br /&gt;0461 ぽ A4DD 307D E381BD   0462 ま A4DE 307E E381BE&lt;br /&gt;0463 み A4DF 307F E381BF   0464 む A4E0 3080 E38280&lt;br /&gt;0465 め A4E1 3081 E38281   0466 も A4E2 3082 E38282&lt;br /&gt;0467 ゃ A4E3 3083 E38283   0468 や A4E4 3084 E38284&lt;br /&gt;0469 ゅ A4E5 3085 E38285   0470 ゆ A4E6 3086 E38286&lt;br /&gt;0471 ょ A4E7 3087 E38287   0472 よ A4E8 3088 E38288&lt;br /&gt;0473 ら A4E9 3089 E38289   0474 り A4EA 308A E3828A&lt;br /&gt;0475 る A4EB 308B E3828B   0476 れ A4EC 308C E3828C&lt;br /&gt;0477 ろ A4ED 308D E3828D   0478 ゎ A4EE 308E E3828E&lt;br /&gt;0479 わ A4EF 308F E3828F   0480 ゐ A4F0 3090 E38290&lt;br /&gt;0481 ゑ A4F1 3091 E38291   0482 を A4F2 3092 E38292&lt;br /&gt;0483 ん A4F3 3093 E38293   0484 　 null null null  &lt;br /&gt;0485 　 null null null     0486 　 null null null  &lt;br /&gt;0487 　 null null null     0488 　 null null null  &lt;br /&gt;0489 　 null null null     0490 　 null null null  &lt;br /&gt;0491 　 null null null     0492 　 null null null  &lt;br /&gt;0493 　 null null null     0494 　 null null null  &lt;br /&gt;0501 ァ A5A1 30A1 E382A1   0502 ア A5A2 30A2 E382A2&lt;br /&gt;0503 ィ A5A3 30A3 E382A3   0504 イ A5A4 30A4 E382A4&lt;br /&gt;0505 ゥ A5A5 30A5 E382A5   0506 ウ A5A6 30A6 E382A6&lt;br /&gt;0507 ェ A5A7 30A7 E382A7   0508 エ A5A8 30A8 E382A8&lt;br /&gt;0509 ォ A5A9 30A9 E382A9   0510 オ A5AA 30AA E382AA&lt;br /&gt;0511 カ A5AB 30AB E382AB   0512 ガ A5AC 30AC E382AC&lt;br /&gt;0513 キ A5AD 30AD E382AD   0514 ギ A5AE 30AE E382AE&lt;br /&gt;0515 ク A5AF 30AF E382AF   0516 グ A5B0 30B0 E382B0&lt;br /&gt;0517 ケ A5B1 30B1 E382B1   0518 ゲ A5B2 30B2 E382B2&lt;br /&gt;0519 コ A5B3 30B3 E382B3   0520 ゴ A5B4 30B4 E382B4&lt;br /&gt;0521 サ A5B5 30B5 E382B5   0522 ザ A5B6 30B6 E382B6&lt;br /&gt;0523 シ A5B7 30B7 E382B7   0524 ジ A5B8 30B8 E382B8&lt;br /&gt;0525 ス A5B9 30B9 E382B9   0526 ズ A5BA 30BA E382BA&lt;br /&gt;0527 セ A5BB 30BB E382BB   0528 ゼ A5BC 30BC E382BC&lt;br /&gt;0529 ソ A5BD 30BD E382BD   0530 ゾ A5BE 30BE E382BE&lt;br /&gt;0531 タ A5BF 30BF E382BF   0532 ダ A5C0 30C0 E38380&lt;br /&gt;0533 チ A5C1 30C1 E38381   0534 ヂ A5C2 30C2 E38382&lt;br /&gt;0535 ッ A5C3 30C3 E38383   0536 ツ A5C4 30C4 E38384&lt;br /&gt;0537 ヅ A5C5 30C5 E38385   0538 テ A5C6 30C6 E38386&lt;br /&gt;0539 デ A5C7 30C7 E38387   0540 ト A5C8 30C8 E38388&lt;br /&gt;0541 ド A5C9 30C9 E38389   0542 ナ A5CA 30CA E3838A&lt;br /&gt;0543 ニ A5CB 30CB E3838B   0544 ヌ A5CC 30CC E3838C&lt;br /&gt;0545 ネ A5CD 30CD E3838D   0546 ノ A5CE 30CE E3838E&lt;br /&gt;0547 ハ A5CF 30CF E3838F   0548 バ A5D0 30D0 E38390&lt;br /&gt;0549 パ A5D1 30D1 E38391   0550 ヒ A5D2 30D2 E38392&lt;br /&gt;0551 ビ A5D3 30D3 E38393   0552 ピ A5D4 30D4 E38394&lt;br /&gt;0553 フ A5D5 30D5 E38395   0554 ブ A5D6 30D6 E38396&lt;br /&gt;0555 プ A5D7 30D7 E38397   0556 ヘ A5D8 30D8 E38398&lt;br /&gt;0557 ベ A5D9 30D9 E38399   0558 ペ A5DA 30DA E3839A&lt;br /&gt;0559 ホ A5DB 30DB E3839B   0560 ボ A5DC 30DC E3839C&lt;br /&gt;0561 ポ A5DD 30DD E3839D   0562 マ A5DE 30DE E3839E&lt;br /&gt;0563 ミ A5DF 30DF E3839F   0564 ム A5E0 30E0 E383A0&lt;br /&gt;0565 メ A5E1 30E1 E383A1   0566 モ A5E2 30E2 E383A2&lt;br /&gt;0567 ャ A5E3 30E3 E383A3   0568 ヤ A5E4 30E4 E383A4&lt;br /&gt;0569 ュ A5E5 30E5 E383A5   0570 ユ A5E6 30E6 E383A6&lt;br /&gt;0571 ョ A5E7 30E7 E383A7   0572 ヨ A5E8 30E8 E383A8&lt;br /&gt;0573 ラ A5E9 30E9 E383A9   0574 リ A5EA 30EA E383AA&lt;br /&gt;0575 ル A5EB 30EB E383AB   0576 レ A5EC 30EC E383AC&lt;br /&gt;0577 ロ A5ED 30ED E383AD   0578 ヮ A5EE 30EE E383AE&lt;br /&gt;0579 ワ A5EF 30EF E383AF   0580 ヰ A5F0 30F0 E383B0&lt;br /&gt;0581 ヱ A5F1 30F1 E383B1   0582 ヲ A5F2 30F2 E383B2&lt;br /&gt;0583 ン A5F3 30F3 E383B3   0584 ヴ A5F4 30F4 E383B4&lt;br /&gt;0585 ヵ A5F5 30F5 E383B5   0586 ヶ A5F6 30F6 E383B6&lt;br /&gt;0587 　 null null null     0588 　 null null null  &lt;br /&gt;0589 　 null null null     0590 　 null null null  &lt;br /&gt;0591 　 null null null     0592 　 null null null  &lt;br /&gt;0593 　 null null null     0594 　 null null null  &lt;br /&gt;0601 Α A6A1 0391 CE91     0602 Β A6A2 0392 CE92  &lt;br /&gt;0603 Γ A6A3 0393 CE93     0604 Δ A6A4 0394 CE94  &lt;br /&gt;0605 Ε A6A5 0395 CE95     0606 Ζ A6A6 0396 CE96  &lt;br /&gt;0607 Η A6A7 0397 CE97     0608 Θ A6A8 0398 CE98  &lt;br /&gt;0609 Ι A6A9 0399 CE99     0610 Κ A6AA 039A CE9A  &lt;br /&gt;0611 Λ A6AB 039B CE9B     0612 Μ A6AC 039C CE9C  &lt;br /&gt;0613 Ν A6AD 039D CE9D     0614 Ξ A6AE 039E CE9E  &lt;br /&gt;0615 Ο A6AF 039F CE9F     0616 Π A6B0 03A0 CEA0  &lt;br /&gt;0617 Ρ A6B1 03A1 CEA1     0618 Σ A6B2 03A3 CEA3  &lt;br /&gt;0619 Τ A6B3 03A4 CEA4     0620 Υ A6B4 03A5 CEA5  &lt;br /&gt;0621 Φ A6B5 03A6 CEA6     0622 Χ A6B6 03A7 CEA7  &lt;br /&gt;0623 Ψ A6B7 03A8 CEA8     0624 Ω A6B8 03A9 CEA9  &lt;br /&gt;0625 　 null null null     0626 　 null null null  &lt;br /&gt;0627 　 null null null     0628 　 null null null  &lt;br /&gt;0629 　 null null null     0630 　 null null null  &lt;br /&gt;0631 　 null null null     0632 　 null null null  &lt;br /&gt;0633 α A6C1 03B1 CEB1     0634 β A6C2 03B2 CEB2  &lt;br /&gt;0635 γ A6C3 03B3 CEB3     0636 δ A6C4 03B4 CEB4  &lt;br /&gt;0637 ε A6C5 03B5 CEB5     0638 ζ A6C6 03B6 CEB6  &lt;br /&gt;0639 η A6C7 03B7 CEB7     0640 θ A6C8 03B8 CEB8  &lt;br /&gt;0641 ι A6C9 03B9 CEB9     0642 κ A6CA 03BA CEBA  &lt;br /&gt;0643 λ A6CB 03BB CEBB     0644 μ A6CC 03BC CEBC  &lt;br /&gt;0645 ν A6CD 03BD CEBD     0646 ξ A6CE 03BE CEBE  &lt;br /&gt;0647 ο A6CF 03BF CEBF     0648 π A6D0 03C0 CF80  &lt;br /&gt;0649 ρ A6D1 03C1 CF81     0650 σ A6D2 03C3 CF83  &lt;br /&gt;0651 τ A6D3 03C4 CF84     0652 υ A6D4 03C5 CF85  &lt;br /&gt;0653 φ A6D5 03C6 CF86     0654 χ A6D6 03C7 CF87  &lt;br /&gt;0655 ψ A6D7 03C8 CF88     0656 ω A6D8 03C9 CF89  &lt;br /&gt;0657 　 null null null     0658 　 null null null  &lt;br /&gt;0659 　 null null null     0660 　 null null null  &lt;br /&gt;0661 　 null null null     0662 　 null null null  &lt;br /&gt;0663 　 null null null     0664 　 null null null  &lt;br /&gt;0665 　 null null null     0666 　 null null null  &lt;br /&gt;0667 　 null null null     0668 　 null null null  &lt;br /&gt;0669 　 null null null     0670 　 null null null  &lt;br /&gt;0671 　 null null null     0672 　 null null null  &lt;br /&gt;0673 　 null null null     0674 　 null null null  &lt;br /&gt;0675 　 null null null     0676 　 null null null  &lt;br /&gt;0677 　 null null null     0678 　 null null null  &lt;br /&gt;0679 　 null null null     0680 　 null null null  &lt;br /&gt;0681 　 null null null     0682 　 null null null  &lt;br /&gt;0683 　 null null null     0684 　 null null null  &lt;br /&gt;0685 　 null null null     0686 　 null null null  &lt;br /&gt;0687 　 null null null     0688 　 null null null  &lt;br /&gt;0689 　 null null null     0690 　 null null null  &lt;br /&gt;0691 　 null null null     0692 　 null null null  &lt;br /&gt;0693 　 null null null     0694 　 null null null  &lt;br /&gt;0701 А A7A1 0410 D090     0702 Б A7A2 0411 D091  &lt;br /&gt;0703 В A7A3 0412 D092     0704 Г A7A4 0413 D093  &lt;br /&gt;0705 Д A7A5 0414 D094     0706 Е A7A6 0415 D095  &lt;br /&gt;0707 Ё A7A7 0401 D081     0708 Ж A7A8 0416 D096  &lt;br /&gt;0709 З A7A9 0417 D097     0710 И A7AA 0418 D098  &lt;br /&gt;0711 Й A7AB 0419 D099     0712 К A7AC 041A D09A  &lt;br /&gt;0713 Л A7AD 041B D09B     0714 М A7AE 041C D09C  &lt;br /&gt;0715 Н A7AF 041D D09D     0716 О A7B0 041E D09E  &lt;br /&gt;0717 П A7B1 041F D09F     0718 Р A7B2 0420 D0A0  &lt;br /&gt;0719 С A7B3 0421 D0A1     0720 Т A7B4 0422 D0A2  &lt;br /&gt;0721 У A7B5 0423 D0A3     0722 Ф A7B6 0424 D0A4  &lt;br /&gt;0723 Х A7B7 0425 D0A5     0724 Ц A7B8 0426 D0A6  &lt;br /&gt;0725 Ч A7B9 0427 D0A7     0726 Ш A7BA 0428 D0A8  &lt;br /&gt;0727 Щ A7BB 0429 D0A9     0728 Ъ A7BC 042A D0AA  &lt;br /&gt;0729 Ы A7BD 042B D0AB     0730 Ь A7BE 042C D0AC  &lt;br /&gt;0731 Э A7BF 042D D0AD     0732 Ю A7C0 042E D0AE  &lt;br /&gt;0733 Я A7C1 042F D0AF     0734 　 null null null  &lt;br /&gt;0735 　 null null null     0736 　 null null null  &lt;br /&gt;0737 　 null null null     0738 　 null null null  &lt;br /&gt;0739 　 null null null     0740 　 null null null  &lt;br /&gt;0741 　 null null null     0742 　 null null null  &lt;br /&gt;0743 　 null null null     0744 　 null null null  &lt;br /&gt;0745 　 null null null     0746 　 null null null  &lt;br /&gt;0747 　 null null null     0748 　 null null null  &lt;br /&gt;0749 а A7D1 0430 D0B0     0750 б A7D2 0431 D0B1  &lt;br /&gt;0751 в A7D3 0432 D0B2     0752 г A7D4 0433 D0B3  &lt;br /&gt;0753 д A7D5 0434 D0B4     0754 е A7D6 0435 D0B5  &lt;br /&gt;0755 ё A7D7 0451 D191     0756 ж A7D8 0436 D0B6  &lt;br /&gt;0757 з A7D9 0437 D0B7     0758 и A7DA 0438 D0B8  &lt;br /&gt;0759 й A7DB 0439 D0B9     0760 к A7DC 043A D0BA  &lt;br /&gt;0761 л A7DD 043B D0BB     0762 м A7DE 043C D0BC  &lt;br /&gt;0763 н A7DF 043D D0BD     0764 о A7E0 043E D0BE  &lt;br /&gt;0765 п A7E1 043F D0BF     0766 р A7E2 0440 D180  &lt;br /&gt;0767 с A7E3 0441 D181     0768 т A7E4 0442 D182  &lt;br /&gt;0769 у A7E5 0443 D183     0770 ф A7E6 0444 D184  &lt;br /&gt;0771 х A7E7 0445 D185     0772 ц A7E8 0446 D186  &lt;br /&gt;0773 ч A7E9 0447 D187     0774 ш A7EA 0448 D188  &lt;br /&gt;0775 щ A7EB 0449 D189     0776 ъ A7EC 044A D18A  &lt;br /&gt;0777 ы A7ED 044B D18B     0778 ь A7EE 044C D18C  &lt;br /&gt;0779 э A7EF 044D D18D     0780 ю A7F0 044E D18E  &lt;br /&gt;0781 я A7F1 044F D18F     0782 　 null null null  &lt;br /&gt;0783 　 null null null     0784 　 null null null  &lt;br /&gt;0785 　 null null null     0786 　 null null null  &lt;br /&gt;0787 　 null null null     0788 　 null null null  &lt;br /&gt;0789 　 null null null     0790 　 null null null  &lt;br /&gt;0791 　 null null null     0792 　 null null null  &lt;br /&gt;0793 　 null null null     0794 　 null null null  &lt;br /&gt;0801 ā A8A1 0101 C481     0802 á A8A2 00E1 C3A1  &lt;br /&gt;0803 ǎ A8A3 01CE C78E     0804 à A8A4 00E0 C3A0  &lt;br /&gt;0805 ē A8A5 0113 C493     0806 é A8A6 00E9 C3A9  &lt;br /&gt;0807 ě A8A7 011B C49B     0808 è A8A8 00E8 C3A8  &lt;br /&gt;0809 ī A8A9 012B C4AB     0810 í A8AA 00ED C3AD  &lt;br /&gt;0811 ǐ A8AB 01D0 C790     0812 ì A8AC 00EC C3AC  &lt;br /&gt;0813 ō A8AD 014D C58D     0814 ó A8AE 00F3 C3B3  &lt;br /&gt;0815 ǒ A8AF 01D2 C792     0816 ò A8B0 00F2 C3B2  &lt;br /&gt;0817 ū A8B1 016B C5AB     0818 ú A8B2 00FA C3BA  &lt;br /&gt;0819 ǔ A8B3 01D4 C794     0820 ù A8B4 00F9 C3B9  &lt;br /&gt;0821 ǖ A8B5 01D6 C796     0822 ǘ A8B6 01D8 C798  &lt;br /&gt;0823 ǚ A8B7 01DA C79A     0824 ǜ A8B8 01DC C79C  &lt;br /&gt;0825 ü A8B9 00FC C3BC     0826 ê A8BA 00EA C3AA  &lt;br /&gt;0827 　 null null null     0828 　 null null null  &lt;br /&gt;0829 　 null null null     0830 　 null null null  &lt;br /&gt;0831 　 null null null     0832 　 null null null  &lt;br /&gt;0833 　 null null null     0834 　 null null null  &lt;br /&gt;0835 　 null null null     0836 　 null null null  &lt;br /&gt;0837 ㄅ A8C5 3105 E38485   0838 ㄆ A8C6 3106 E38486&lt;br /&gt;0839 ㄇ A8C7 3107 E38487   0840 ㄈ A8C8 3108 E38488&lt;br /&gt;0841 ㄉ A8C9 3109 E38489   0842 ㄊ A8CA 310A E3848A&lt;br /&gt;0843 ㄋ A8CB 310B E3848B   0844 ㄌ A8CC 310C E3848C&lt;br /&gt;0845 ㄍ A8CD 310D E3848D   0846 ㄎ A8CE 310E E3848E&lt;br /&gt;0847 ㄏ A8CF 310F E3848F   0848 ㄐ A8D0 3110 E38490&lt;br /&gt;0849 ㄑ A8D1 3111 E38491   0850 ㄒ A8D2 3112 E38492&lt;br /&gt;0851 ㄓ A8D3 3113 E38493   0852 ㄔ A8D4 3114 E38494&lt;br /&gt;0853 ㄕ A8D5 3115 E38495   0854 ㄖ A8D6 3116 E38496&lt;br /&gt;0855 ㄗ A8D7 3117 E38497   0856 ㄘ A8D8 3118 E38498&lt;br /&gt;0857 ㄙ A8D9 3119 E38499   0858 ㄚ A8DA 311A E3849A&lt;br /&gt;0859 ㄛ A8DB 311B E3849B   0860 ㄜ A8DC 311C E3849C&lt;br /&gt;0861 ㄝ A8DD 311D E3849D   0862 ㄞ A8DE 311E E3849E&lt;br /&gt;0863 ㄟ A8DF 311F E3849F   0864 ㄠ A8E0 3120 E384A0&lt;br /&gt;0865 ㄡ A8E1 3121 E384A1   0866 ㄢ A8E2 3122 E384A2&lt;br /&gt;0867 ㄣ A8E3 3123 E384A3   0868 ㄤ A8E4 3124 E384A4&lt;br /&gt;0869 ㄥ A8E5 3125 E384A5   0870 ㄦ A8E6 3126 E384A6&lt;br /&gt;0871 ㄧ A8E7 3127 E384A7   0872 ㄨ A8E8 3128 E384A8&lt;br /&gt;0873 ㄩ A8E9 3129 E384A9   0874 　 null null null  &lt;br /&gt;0875 　 null null null     0876 　 null null null  &lt;br /&gt;0877 　 null null null     0878 　 null null null  &lt;br /&gt;0879 　 null null null     0880 　 null null null  &lt;br /&gt;0881 　 null null null     0882 　 null null null  &lt;br /&gt;0883 　 null null null     0884 　 null null null  &lt;br /&gt;0885 　 null null null     0886 　 null null null  &lt;br /&gt;0887 　 null null null     0888 　 null null null  &lt;br /&gt;0889 　 null null null     0890 　 null null null  &lt;br /&gt;0891 　 null null null     0892 　 null null null  &lt;br /&gt;0893 　 null null null     0894 　 null null null  &lt;br /&gt;0901 　 null null null     0902 　 null null null  &lt;br /&gt;0903 　 null null null     0904 ─ A9A4 2500 E29480&lt;br /&gt;0905 ━ A9A5 2501 E29481   0906 │ A9A6 2502 E29482&lt;br /&gt;0907 ┃ A9A7 2503 E29483   0908 ┄ A9A8 2504 E29484&lt;br /&gt;0909 ┅ A9A9 2505 E29485   0910 ┆ A9AA 2506 E29486&lt;br /&gt;0911 ┇ A9AB 2507 E29487   0912 ┈ A9AC 2508 E29488&lt;br /&gt;0913 ┉ A9AD 2509 E29489   0914 ┊ A9AE 250A E2948A&lt;br /&gt;0915 ┋ A9AF 250B E2948B   0916 ┌ A9B0 250C E2948C&lt;br /&gt;0917 ┍ A9B1 250D E2948D   0918 ┎ A9B2 250E E2948E&lt;br /&gt;0919 ┏ A9B3 250F E2948F   0920 ┐ A9B4 2510 E29490&lt;br /&gt;0921 ┑ A9B5 2511 E29491   0922 ┒ A9B6 2512 E29492&lt;br /&gt;0923 ┓ A9B7 2513 E29493   0924 └ A9B8 2514 E29494&lt;br /&gt;0925 ┕ A9B9 2515 E29495   0926 ┖ A9BA 2516 E29496&lt;br /&gt;0927 ┗ A9BB 2517 E29497   0928 ┘ A9BC 2518 E29498&lt;br /&gt;0929 ┙ A9BD 2519 E29499   0930 ┚ A9BE 251A E2949A&lt;br /&gt;0931 ┛ A9BF 251B E2949B   0932 ├ A9C0 251C E2949C&lt;br /&gt;0933 ┝ A9C1 251D E2949D   0934 ┞ A9C2 251E E2949E&lt;br /&gt;0935 ┟ A9C3 251F E2949F   0936 ┠ A9C4 2520 E294A0&lt;br /&gt;0937 ┡ A9C5 2521 E294A1   0938 ┢ A9C6 2522 E294A2&lt;br /&gt;0939 ┣ A9C7 2523 E294A3   0940 ┤ A9C8 2524 E294A4&lt;br /&gt;0941 ┥ A9C9 2525 E294A5   0942 ┦ A9CA 2526 E294A6&lt;br /&gt;0943 ┧ A9CB 2527 E294A7   0944 ┨ A9CC 2528 E294A8&lt;br /&gt;0945 ┩ A9CD 2529 E294A9   0946 ┪ A9CE 252A E294AA&lt;br /&gt;0947 ┫ A9CF 252B E294AB   0948 ┬ A9D0 252C E294AC&lt;br /&gt;0949 ┭ A9D1 252D E294AD   0950 ┮ A9D2 252E E294AE&lt;br /&gt;0951 ┯ A9D3 252F E294AF   0952 ┰ A9D4 2530 E294B0&lt;br /&gt;0953 ┱ A9D5 2531 E294B1   0954 ┲ A9D6 2532 E294B2&lt;br /&gt;0955 ┳ A9D7 2533 E294B3   0956 ┴ A9D8 2534 E294B4&lt;br /&gt;0957 ┵ A9D9 2535 E294B5   0958 ┶ A9DA 2536 E294B6&lt;br /&gt;0959 ┷ A9DB 2537 E294B7   0960 ┸ A9DC 2538 E294B8&lt;br /&gt;0961 ┹ A9DD 2539 E294B9   0962 ┺ A9DE 253A E294BA&lt;br /&gt;0963 ┻ A9DF 253B E294BB   0964 ┼ A9E0 253C E294BC&lt;br /&gt;0965 ┽ A9E1 253D E294BD   0966 ┾ A9E2 253E E294BE&lt;br /&gt;0967 ┿ A9E3 253F E294BF   0968 ╀ A9E4 2540 E29580&lt;br /&gt;0969 ╁ A9E5 2541 E29581   0970 ╂ A9E6 2542 E29582&lt;br /&gt;0971 ╃ A9E7 2543 E29583   0972 ╄ A9E8 2544 E29584&lt;br /&gt;0973 ╅ A9E9 2545 E29585   0974 ╆ A9EA 2546 E29586&lt;br /&gt;0975 ╇ A9EB 2547 E29587   0976 ╈ A9EC 2548 E29588&lt;br /&gt;0977 ╉ A9ED 2549 E29589   0978 ╊ A9EE 254A E2958A&lt;br /&gt;0979 ╋ A9EF 254B E2958B   0980 　 null null null  &lt;br /&gt;0981 　 null null null     0982 　 null null null  &lt;br /&gt;0983 　 null null null     0984 　 null null null  &lt;br /&gt;0985 　 null null null     0986 　 null null null  &lt;br /&gt;0987 　 null null null     0988 　 null null null  &lt;br /&gt;0989 　 null null null     0990 　 null null null  &lt;br /&gt;0991 　 null null null     0992 　 null null null  &lt;br /&gt;0993 　 null null null     0994 　 null null null  &lt;br /&gt;1601 啊 B0A1 554A E5958A   1602 阿 B0A2 963F E998BF&lt;br /&gt;1603 埃 B0A3 57C3 E59F83   1604 挨 B0A4 6328 E68CA8&lt;br /&gt;1605 哎 B0A5 54CE E5938E   1606 唉 B0A6 5509 E59489&lt;br /&gt;1607 哀 B0A7 54C0 E59380   1608 皑 B0A8 7691 E79A91&lt;br /&gt;1609 癌 B0A9 764C E7998C   1610 蔼 B0AA 853C E894BC&lt;br /&gt;1611 矮 B0AB 77EE E79FAE   1612 艾 B0AC 827E E889BE&lt;br /&gt;1613 碍 B0AD 788D E7A28D   1614 爱 B0AE 7231 E788B1&lt;br /&gt;1615 隘 B0AF 9698 E99A98   1616 鞍 B0B0 978D E99E8D&lt;br /&gt;1617 氨 B0B1 6C28 E6B0A8   1618 安 B0B2 5B89 E5AE89&lt;br /&gt;1619 俺 B0B3 4FFA E4BFBA   1620 按 B0B4 6309 E68C89&lt;br /&gt;1621 暗 B0B5 6697 E69A97   1622 岸 B0B6 5CB8 E5B2B8&lt;br /&gt;1623 胺 B0B7 80FA E883BA   1624 案 B0B8 6848 E6A188&lt;br /&gt;1625 肮 B0B9 80AE E882AE   1626 昂 B0BA 6602 E69882&lt;br /&gt;1627 盎 B0BB 76CE E79B8E   1628 凹 B0BC 51F9 E587B9&lt;br /&gt;1629 敖 B0BD 6556 E69596   1630 熬 B0BE 71AC E786AC&lt;br /&gt;1631 翱 B0BF 7FF1 E7BFB1   1632 袄 B0C0 8884 E8A284&lt;br /&gt;1633 傲 B0C1 50B2 E582B2   1634 奥 B0C2 5965 E5A5A5&lt;br /&gt;1635 懊 B0C3 61CA E6878A   1636 澳 B0C4 6FB3 E6BEB3&lt;br /&gt;1637 芭 B0C5 82AD E88AAD   1638 捌 B0C6 634C E68D8C&lt;br /&gt;1639 扒 B0C7 6252 E68992   1640 叭 B0C8 53ED E58FAD&lt;br /&gt;1641 吧 B0C9 5427 E590A7   1642 笆 B0CA 7B06 E7AC86&lt;br /&gt;1643 八 B0CB 516B E585AB   1644 疤 B0CC 75A4 E796A4&lt;br /&gt;1645 巴 B0CD 5DF4 E5B7B4   1646 拔 B0CE 62D4 E68B94&lt;br /&gt;1647 跋 B0CF 8DCB E8B78B   1648 靶 B0D0 9776 E99DB6&lt;br /&gt;1649 把 B0D1 628A E68A8A   1650 耙 B0D2 8019 E88099&lt;br /&gt;1651 坝 B0D3 575D E59D9D   1652 霸 B0D4 9738 E99CB8&lt;br /&gt;1653 罢 B0D5 7F62 E7BDA2   1654 爸 B0D6 7238 E788B8&lt;br /&gt;1655 白 B0D7 767D E799BD   1656 柏 B0D8 67CF E69F8F&lt;br /&gt;1657 百 B0D9 767E E799BE   1658 摆 B0DA 6446 E69186&lt;br /&gt;1659 佰 B0DB 4F70 E4BDB0   1660 败 B0DC 8D25 E8B4A5&lt;br /&gt;1661 拜 B0DD 62DC E68B9C   1662 稗 B0DE 7A17 E7A897&lt;br /&gt;1663 斑 B0DF 6591 E69691   1664 班 B0E0 73ED E78FAD&lt;br /&gt;1665 搬 B0E1 642C E690AC   1666 扳 B0E2 6273 E689B3&lt;br /&gt;1667 般 B0E3 822C E888AC   1668 颁 B0E4 9881 E9A281&lt;br /&gt;1669 板 B0E5 677F E69DBF   1670 版 B0E6 7248 E78988&lt;br /&gt;1671 扮 B0E7 626E E689AE   1672 拌 B0E8 62CC E68B8C&lt;br /&gt;1673 伴 B0E9 4F34 E4BCB4   1674 瓣 B0EA 74E3 E793A3&lt;br /&gt;1675 半 B0EB 534A E58D8A   1676 办 B0EC 529E E58A9E&lt;br /&gt;1677 绊 B0ED 7ECA E7BB8A   1678 邦 B0EE 90A6 E982A6&lt;br /&gt;1679 帮 B0EF 5E2E E5B8AE   1680 梆 B0F0 6886 E6A286&lt;br /&gt;1681 榜 B0F1 699C E6A69C   1682 膀 B0F2 8180 E88680&lt;br /&gt;1683 绑 B0F3 7ED1 E7BB91   1684 棒 B0F4 68D2 E6A392&lt;br /&gt;1685 磅 B0F5 78C5 E7A385   1686 蚌 B0F6 868C E89A8C&lt;br /&gt;1687 镑 B0F7 9551 E99591   1688 傍 B0F8 508D E5828D&lt;br /&gt;1689 谤 B0F9 8C24 E8B0A4   1690 苞 B0FA 82DE E88B9E&lt;br /&gt;1691 胞 B0FB 80DE E8839E   1692 包 B0FC 5305 E58C85&lt;br /&gt;1693 褒 B0FD 8912 E8A492   1694 剥 B0FE 5265 E589A5&lt;br /&gt;1701 薄 B1A1 8584 E89684   1702 雹 B1A2 96F9 E99BB9&lt;br /&gt;1703 保 B1A3 4FDD E4BF9D   1704 堡 B1A4 5821 E5A0A1&lt;br /&gt;1705 饱 B1A5 9971 E9A5B1   1706 宝 B1A6 5B9D E5AE9D&lt;br /&gt;1707 抱 B1A7 62B1 E68AB1   1708 报 B1A8 62A5 E68AA5&lt;br /&gt;1709 暴 B1A9 66B4 E69AB4   1710 豹 B1AA 8C79 E8B1B9&lt;br /&gt;1711 鲍 B1AB 9C8D E9B28D   1712 爆 B1AC 7206 E78886&lt;br /&gt;1713 杯 B1AD 676F E69DAF   1714 碑 B1AE 7891 E7A291&lt;br /&gt;1715 悲 B1AF 60B2 E682B2   1716 卑 B1B0 5351 E58D91&lt;br /&gt;1717 北 B1B1 5317 E58C97   1718 辈 B1B2 8F88 E8BE88&lt;br /&gt;1719 背 B1B3 80CC E8838C   1720 贝 B1B4 8D1D E8B49D&lt;br /&gt;1721 钡 B1B5 94A1 E992A1   1722 倍 B1B6 500D E5808D&lt;br /&gt;1723 狈 B1B7 72C8 E78B88   1724 备 B1B8 5907 E5A487&lt;br /&gt;1725 惫 B1B9 60EB E683AB   1726 焙 B1BA 7119 E78499&lt;br /&gt;1727 被 B1BB 88AB E8A2AB   1728 奔 B1BC 5954 E5A594&lt;br /&gt;1729 苯 B1BD 82EF E88BAF   1730 本 B1BE 672C E69CAC&lt;br /&gt;1731 笨 B1BF 7B28 E7ACA8   1732 崩 B1C0 5D29 E5B4A9&lt;br /&gt;1733 绷 B1C1 7EF7 E7BBB7   1734 甭 B1C2 752D E794AD&lt;br /&gt;1735 泵 B1C3 6CF5 E6B3B5   1736 蹦 B1C4 8E66 E8B9A6&lt;br /&gt;1737 迸 B1C5 8FF8 E8BFB8   1738 逼 B1C6 903C E980BC&lt;br /&gt;1739 鼻 B1C7 9F3B E9BCBB   1740 比 B1C8 6BD4 E6AF94&lt;br /&gt;1741 鄙 B1C9 9119 E98499   1742 笔 B1CA 7B14 E7AC94&lt;br /&gt;1743 彼 B1CB 5F7C E5BDBC   1744 碧 B1CC 78A7 E7A2A7&lt;br /&gt;1745 蓖 B1CD 84D6 E89396   1746 蔽 B1CE 853D E894BD&lt;br /&gt;1747 毕 B1CF 6BD5 E6AF95   1748 毙 B1D0 6BD9 E6AF99&lt;br /&gt;1749 毖 B1D1 6BD6 E6AF96   1750 币 B1D2 5E01 E5B881&lt;br /&gt;1751 庇 B1D3 5E87 E5BA87   1752 痹 B1D4 75F9 E797B9&lt;br /&gt;1753 闭 B1D5 95ED E997AD   1754 敝 B1D6 655D E6959D&lt;br /&gt;1755 弊 B1D7 5F0A E5BC8A   1756 必 B1D8 5FC5 E5BF85&lt;br /&gt;1757 辟 B1D9 8F9F E8BE9F   1758 壁 B1DA 58C1 E5A381&lt;br /&gt;1759 臂 B1DB 81C2 E88782   1760 避 B1DC 907F E981BF&lt;br /&gt;1761 陛 B1DD 965B E9999B   1762 鞭 B1DE 97AD E99EAD&lt;br /&gt;1763 边 B1DF 8FB9 E8BEB9   1764 编 B1E0 7F16 E7BC96&lt;br /&gt;1765 贬 B1E1 8D2C E8B4AC   1766 扁 B1E2 6241 E68981&lt;br /&gt;1767 便 B1E3 4FBF E4BEBF   1768 变 B1E4 53D8 E58F98&lt;br /&gt;1769 卞 B1E5 535E E58D9E   1770 辨 B1E6 8FA8 E8BEA8&lt;br /&gt;1771 辩 B1E7 8FA9 E8BEA9   1772 辫 B1E8 8FAB E8BEAB&lt;br /&gt;1773 遍 B1E9 904D E9818D   1774 标 B1EA 6807 E6A087&lt;br /&gt;1775 彪 B1EB 5F6A E5BDAA   1776 膘 B1EC 8198 E88698&lt;br /&gt;1777 表 B1ED 8868 E8A1A8   1778 鳖 B1EE 9CD6 E9B396&lt;br /&gt;1779 憋 B1EF 618B E6868B   1780 别 B1F0 522B E588AB&lt;br /&gt;1781 瘪 B1F1 762A E798AA   1782 彬 B1F2 5F6C E5BDAC&lt;br /&gt;1783 斌 B1F3 658C E6968C   1784 濒 B1F4 6FD2 E6BF92&lt;br /&gt;1785 滨 B1F5 6EE8 E6BBA8   1786 宾 B1F6 5BBE E5AEBE&lt;br /&gt;1787 摈 B1F7 6448 E69188   1788 兵 B1F8 5175 E585B5&lt;br /&gt;1789 冰 B1F9 51B0 E586B0   1790 柄 B1FA 67C4 E69F84&lt;br /&gt;1791 丙 B1FB 4E19 E4B899   1792 秉 B1FC 79C9 E7A789&lt;br /&gt;1793 饼 B1FD 997C E9A5BC   1794 炳 B1FE 70B3 E782B3&lt;br /&gt;1801 病 B2A1 75C5 E79785   1802 并 B2A2 5E76 E5B9B6&lt;br /&gt;1803 玻 B2A3 73BB E78EBB   1804 菠 B2A4 83E0 E88FA0&lt;br /&gt;1805 播 B2A5 64AD E692AD   1806 拨 B2A6 62E8 E68BA8&lt;br /&gt;1807 钵 B2A7 94B5 E992B5   1808 波 B2A8 6CE2 E6B3A2&lt;br /&gt;1809 博 B2A9 535A E58D9A   1810 勃 B2AA 52C3 E58B83&lt;br /&gt;1811 搏 B2AB 640F E6908F   1812 铂 B2AC 94C2 E99382&lt;br /&gt;1813 箔 B2AD 7B94 E7AE94   1814 伯 B2AE 4F2F E4BCAF&lt;br /&gt;1815 帛 B2AF 5E1B E5B89B   1816 舶 B2B0 8236 E888B6&lt;br /&gt;1817 脖 B2B1 8116 E88496   1818 膊 B2B2 818A E8868A&lt;br /&gt;1819 渤 B2B3 6E24 E6B8A4   1820 泊 B2B4 6CCA E6B38A&lt;br /&gt;1821 驳 B2B5 9A73 E9A9B3   1822 捕 B2B6 6355 E68D95&lt;br /&gt;1823 卜 B2B7 535C E58D9C   1824 哺 B2B8 54FA E593BA&lt;br /&gt;1825 补 B2B9 8865 E8A1A5   1826 埠 B2BA 57E0 E59FA0&lt;br /&gt;1827 不 B2BB 4E0D E4B88D   1828 布 B2BC 5E03 E5B883&lt;br /&gt;1829 步 B2BD 6B65 E6ADA5   1830 簿 B2BE 7C3F E7B0BF&lt;br /&gt;1831 部 B2BF 90E8 E983A8   1832 怖 B2C0 6016 E68096&lt;br /&gt;1833 擦 B2C1 64E6 E693A6   1834 猜 B2C2 731C E78C9C&lt;br /&gt;1835 裁 B2C3 88C1 E8A381   1836 材 B2C4 6750 E69D90&lt;br /&gt;1837 才 B2C5 624D E6898D   1838 财 B2C6 8D22 E8B4A2&lt;br /&gt;1839 睬 B2C7 776C E79DAC   1840 踩 B2C8 8E29 E8B8A9&lt;br /&gt;1841 采 B2C9 91C7 E98787   1842 彩 B2CA 5F69 E5BDA9&lt;br /&gt;1843 菜 B2CB 83DC E88F9C   1844 蔡 B2CC 8521 E894A1&lt;br /&gt;1845 餐 B2CD 9910 E9A490   1846 参 B2CE 53C2 E58F82&lt;br /&gt;1847 蚕 B2CF 8695 E89A95   1848 残 B2D0 6B8B E6AE8B&lt;br /&gt;1849 惭 B2D1 60ED E683AD   1850 惨 B2D2 60E8 E683A8&lt;br /&gt;1851 灿 B2D3 707F E781BF   1852 苍 B2D4 82CD E88B8D&lt;br /&gt;1853 舱 B2D5 8231 E888B1   1854 仓 B2D6 4ED3 E4BB93&lt;br /&gt;1855 沧 B2D7 6CA7 E6B2A7   1856 藏 B2D8 85CF E8978F&lt;br /&gt;1857 操 B2D9 64CD E6938D   1858 糙 B2DA 7CD9 E7B399&lt;br /&gt;1859 槽 B2DB 69FD E6A7BD   1860 曹 B2DC 66F9 E69BB9&lt;br /&gt;1861 草 B2DD 8349 E88D89   1862 厕 B2DE 5395 E58E95&lt;br /&gt;1863 策 B2DF 7B56 E7AD96   1864 侧 B2E0 4FA7 E4BEA7&lt;br /&gt;1865 册 B2E1 518C E5868C   1866 测 B2E2 6D4B E6B58B&lt;br /&gt;1867 层 B2E3 5C42 E5B182   1868 蹭 B2E4 8E6D E8B9AD&lt;br /&gt;1869 插 B2E5 63D2 E68F92   1870 叉 B2E6 53C9 E58F89&lt;br /&gt;1871 茬 B2E7 832C E88CAC   1872 茶 B2E8 8336 E88CB6&lt;br /&gt;1873 查 B2E9 67E5 E69FA5   1874 碴 B2EA 78B4 E7A2B4&lt;br /&gt;1875 搽 B2EB 643D E690BD   1876 察 B2EC 5BDF E5AF9F&lt;br /&gt;1877 岔 B2ED 5C94 E5B294   1878 差 B2EE 5DEE E5B7AE&lt;br /&gt;1879 诧 B2EF 8BE7 E8AFA7   1880 拆 B2F0 62C6 E68B86&lt;br /&gt;1881 柴 B2F1 67F4 E69FB4   1882 豺 B2F2 8C7A E8B1BA&lt;br /&gt;1883 搀 B2F3 6400 E69080   1884 掺 B2F4 63BA E68EBA&lt;br /&gt;1885 蝉 B2F5 8749 E89D89   1886 馋 B2F6 998B E9A68B&lt;br /&gt;1887 谗 B2F7 8C17 E8B097   1888 缠 B2F8 7F20 E7BCA0&lt;br /&gt;1889 铲 B2F9 94F2 E993B2   1890 产 B2FA 4EA7 E4BAA7&lt;br /&gt;1891 阐 B2FB 9610 E99890   1892 颤 B2FC 98A4 E9A2A4&lt;br /&gt;1893 昌 B2FD 660C E6988C   1894 猖 B2FE 7316 E78C96&lt;br /&gt;1901 场 B3A1 573A E59CBA   1902 尝 B3A2 5C1D E5B09D&lt;br /&gt;1903 常 B3A3 5E38 E5B8B8   1904 长 B3A4 957F E995BF&lt;br /&gt;1905 偿 B3A5 507F E581BF   1906 肠 B3A6 80A0 E882A0&lt;br /&gt;1907 厂 B3A7 5382 E58E82   1908 敞 B3A8 655E E6959E&lt;br /&gt;1909 畅 B3A9 7545 E79585   1910 唱 B3AA 5531 E594B1&lt;br /&gt;1911 倡 B3AB 5021 E580A1   1912 超 B3AC 8D85 E8B685&lt;br /&gt;1913 抄 B3AD 6284 E68A84   1914 钞 B3AE 949E E9929E&lt;br /&gt;1915 朝 B3AF 671D E69C9D   1916 嘲 B3B0 5632 E598B2&lt;br /&gt;1917 潮 B3B1 6F6E E6BDAE   1918 巢 B3B2 5DE2 E5B7A2&lt;br /&gt;1919 吵 B3B3 5435 E590B5   1920 炒 B3B4 7092 E78292&lt;br /&gt;1921 车 B3B5 8F66 E8BDA6   1922 扯 B3B6 626F E689AF&lt;br /&gt;1923 撤 B3B7 64A4 E692A4   1924 掣 B3B8 63A3 E68EA3&lt;br /&gt;1925 彻 B3B9 5F7B E5BDBB   1926 澈 B3BA 6F88 E6BE88&lt;br /&gt;1927 郴 B3BB 90F4 E983B4   1928 臣 B3BC 81E3 E887A3&lt;br /&gt;1929 辰 B3BD 8FB0 E8BEB0   1930 尘 B3BE 5C18 E5B098&lt;br /&gt;1931 晨 B3BF 6668 E699A8   1932 忱 B3C0 5FF1 E5BFB1&lt;br /&gt;1933 沉 B3C1 6C89 E6B289   1934 陈 B3C2 9648 E99988&lt;br /&gt;1935 趁 B3C3 8D81 E8B681   1936 衬 B3C4 886C E8A1AC&lt;br /&gt;1937 撑 B3C5 6491 E69291   1938 称 B3C6 79F0 E7A7B0&lt;br /&gt;1939 城 B3C7 57CE E59F8E   1940 橙 B3C8 6A59 E6A999&lt;br /&gt;1941 成 B3C9 6210 E68890   1942 呈 B3CA 5448 E59188&lt;br /&gt;1943 乘 B3CB 4E58 E4B998   1944 程 B3CC 7A0B E7A88B&lt;br /&gt;1945 惩 B3CD 60E9 E683A9   1946 澄 B3CE 6F84 E6BE84&lt;br /&gt;1947 诚 B3CF 8BDA E8AF9A   1948 承 B3D0 627F E689BF&lt;br /&gt;1949 逞 B3D1 901E E9809E   1950 骋 B3D2 9A8B E9AA8B&lt;br /&gt;1951 秤 B3D3 79E4 E7A7A4   1952 吃 B3D4 5403 E59083&lt;br /&gt;1953 痴 B3D5 75F4 E797B4   1954 持 B3D6 6301 E68C81&lt;br /&gt;1955 匙 B3D7 5319 E58C99   1956 池 B3D8 6C60 E6B1A0&lt;br /&gt;1957 迟 B3D9 8FDF E8BF9F   1958 弛 B3DA 5F1B E5BC9B&lt;br /&gt;1959 驰 B3DB 9A70 E9A9B0   1960 耻 B3DC 803B E880BB&lt;br /&gt;1961 齿 B3DD 9F7F E9BDBF   1962 侈 B3DE 4F88 E4BE88&lt;br /&gt;1963 尺 B3DF 5C3A E5B0BA   1964 赤 B3E0 8D64 E8B5A4&lt;br /&gt;1965 翅 B3E1 7FC5 E7BF85   1966 斥 B3E2 65A5 E696A5&lt;br /&gt;1967 炽 B3E3 70BD E782BD   1968 充 B3E4 5145 E58585&lt;br /&gt;1969 冲 B3E5 51B2 E586B2   1970 虫 B3E6 866B E899AB&lt;br /&gt;1971 崇 B3E7 5D07 E5B487   1972 宠 B3E8 5BA0 E5AEA0&lt;br /&gt;1973 抽 B3E9 62BD E68ABD   1974 酬 B3EA 916C E985AC&lt;br /&gt;1975 畴 B3EB 7574 E795B4   1976 踌 B3EC 8E0C E8B88C&lt;br /&gt;1977 稠 B3ED 7A20 E7A8A0   1978 愁 B3EE 6101 E68481&lt;br /&gt;1979 筹 B3EF 7B79 E7ADB9   1980 仇 B3F0 4EC7 E4BB87&lt;br /&gt;1981 绸 B3F1 7EF8 E7BBB8   1982 瞅 B3F2 7785 E79E85&lt;br /&gt;1983 丑 B3F3 4E11 E4B891   1984 臭 B3F4 81ED E887AD&lt;br /&gt;1985 初 B3F5 521D E5889D   1986 出 B3F6 51FA E587BA&lt;br /&gt;1987 橱 B3F7 6A71 E6A9B1   1988 厨 B3F8 53A8 E58EA8&lt;br /&gt;1989 躇 B3F9 8E87 E8BA87   1990 锄 B3FA 9504 E99484&lt;br /&gt;1991 雏 B3FB 96CF E99B8F   1992 滁 B3FC 6EC1 E6BB81&lt;br /&gt;1993 除 B3FD 9664 E999A4   1994 楚 B3FE 695A E6A59A&lt;br /&gt;2001 础 B4A1 7840 E7A180   2002 储 B4A2 50A8 E582A8&lt;br /&gt;2003 矗 B4A3 77D7 E79F97   2004 搐 B4A4 6410 E69090&lt;br /&gt;2005 触 B4A5 89E6 E8A7A6   2006 处 B4A6 5904 E5A484&lt;br /&gt;2007 揣 B4A7 63E3 E68FA3   2008 川 B4A8 5DDD E5B79D&lt;br /&gt;2009 穿 B4A9 7A7F E7A9BF   2010 椽 B4AA 693D E6A4BD&lt;br /&gt;2011 传 B4AB 4F20 E4BCA0   2012 船 B4AC 8239 E888B9&lt;br /&gt;2013 喘 B4AD 5598 E59698   2014 串 B4AE 4E32 E4B8B2&lt;br /&gt;2015 疮 B4AF 75AE E796AE   2016 窗 B4B0 7A97 E7AA97&lt;br /&gt;2017 幢 B4B1 5E62 E5B9A2   2018 床 B4B2 5E8A E5BA8A&lt;br /&gt;2019 闯 B4B3 95EF E997AF   2020 创 B4B4 521B E5889B&lt;br /&gt;2021 吹 B4B5 5439 E590B9   2022 炊 B4B6 708A E7828A&lt;br /&gt;2023 捶 B4B7 6376 E68DB6   2024 锤 B4B8 9524 E994A4&lt;br /&gt;2025 垂 B4B9 5782 E59E82   2026 春 B4BA 6625 E698A5&lt;br /&gt;2027 椿 B4BB 693F E6A4BF   2028 醇 B4BC 9187 E98687&lt;br /&gt;2029 唇 B4BD 5507 E59487   2030 淳 B4BE 6DF3 E6B7B3&lt;br /&gt;2031 纯 B4BF 7EAF E7BAAF   2032 蠢 B4C0 8822 E8A0A2&lt;br /&gt;2033 戳 B4C1 6233 E688B3   2034 绰 B4C2 7EF0 E7BBB0&lt;br /&gt;2035 疵 B4C3 75B5 E796B5   2036 茨 B4C4 8328 E88CA8&lt;br /&gt;2037 磁 B4C5 78C1 E7A381   2038 雌 B4C6 96CC E99B8C&lt;br /&gt;2039 辞 B4C7 8F9E E8BE9E   2040 慈 B4C8 6148 E68588&lt;br /&gt;2041 瓷 B4C9 74F7 E793B7   2042 词 B4CA 8BCD E8AF8D&lt;br /&gt;2043 此 B4CB 6B64 E6ADA4   2044 刺 B4CC 523A E588BA&lt;br /&gt;2045 赐 B4CD 8D50 E8B590   2046 次 B4CE 6B21 E6ACA1&lt;br /&gt;2047 聪 B4CF 806A E881AA   2048 葱 B4D0 8471 E891B1&lt;br /&gt;2049 囱 B4D1 56F1 E59BB1   2050 匆 B4D2 5306 E58C86&lt;br /&gt;2051 从 B4D3 4ECE E4BB8E   2052 丛 B4D4 4E1B E4B89B&lt;br /&gt;2053 凑 B4D5 51D1 E58791   2054 粗 B4D6 7C97 E7B297&lt;br /&gt;2055 醋 B4D7 918B E9868B   2056 簇 B4D8 7C07 E7B087&lt;br /&gt;2057 促 B4D9 4FC3 E4BF83   2058 蹿 B4DA 8E7F E8B9BF&lt;br /&gt;2059 篡 B4DB 7BE1 E7AFA1   2060 窜 B4DC 7A9C E7AA9C&lt;br /&gt;2061 摧 B4DD 6467 E691A7   2062 崔 B4DE 5D14 E5B494&lt;br /&gt;2063 催 B4DF 50AC E582AC   2064 脆 B4E0 8106 E88486&lt;br /&gt;2065 瘁 B4E1 7601 E79881   2066 粹 B4E2 7CB9 E7B2B9&lt;br /&gt;2067 淬 B4E3 6DEC E6B7AC   2068 翠 B4E4 7FE0 E7BFA0&lt;br /&gt;2069 村 B4E5 6751 E69D91   2070 存 B4E6 5B58 E5AD98&lt;br /&gt;2071 寸 B4E7 5BF8 E5AFB8   2072 磋 B4E8 78CB E7A38B&lt;br /&gt;2073 撮 B4E9 64AE E692AE   2074 搓 B4EA 6413 E69093&lt;br /&gt;2075 措 B4EB 63AA E68EAA   2076 挫 B4EC 632B E68CAB&lt;br /&gt;2077 错 B4ED 9519 E99499   2078 搭 B4EE 642D E690AD&lt;br /&gt;2079 达 B4EF 8FBE E8BEBE   2080 答 B4F0 7B54 E7AD94&lt;br /&gt;2081 瘩 B4F1 7629 E798A9   2082 打 B4F2 6253 E68993&lt;br /&gt;2083 大 B4F3 5927 E5A4A7   2084 呆 B4F4 5446 E59186&lt;br /&gt;2085 歹 B4F5 6B79 E6ADB9   2086 傣 B4F6 50A3 E582A3&lt;br /&gt;2087 戴 B4F7 6234 E688B4   2088 带 B4F8 5E26 E5B8A6&lt;br /&gt;2089 殆 B4F9 6B86 E6AE86   2090 代 B4FA 4EE3 E4BBA3&lt;br /&gt;2091 贷 B4FB 8D37 E8B4B7   2092 袋 B4FC 888B E8A28B&lt;br /&gt;2093 待 B4FD 5F85 E5BE85   2094 逮 B4FE 902E E980AE&lt;br /&gt;2101 怠 B5A1 6020 E680A0   2102 耽 B5A2 803D E880BD&lt;br /&gt;2103 担 B5A3 62C5 E68B85   2104 丹 B5A4 4E39 E4B8B9&lt;br /&gt;2105 单 B5A5 5355 E58D95   2106 郸 B5A6 90F8 E983B8&lt;br /&gt;2107 掸 B5A7 63B8 E68EB8   2108 胆 B5A8 80C6 E88386&lt;br /&gt;2109 旦 B5A9 65E6 E697A6   2110 氮 B5AA 6C2E E6B0AE&lt;br /&gt;2111 但 B5AB 4F46 E4BD86   2112 惮 B5AC 60EE E683AE&lt;br /&gt;2113 淡 B5AD 6DE1 E6B7A1   2114 诞 B5AE 8BDE E8AF9E&lt;br /&gt;2115 弹 B5AF 5F39 E5BCB9   2116 蛋 B5B0 86CB E89B8B&lt;br /&gt;2117 当 B5B1 5F53 E5BD93   2118 挡 B5B2 6321 E68CA1&lt;br /&gt;2119 党 B5B3 515A E5859A   2120 荡 B5B4 8361 E88DA1&lt;br /&gt;2121 档 B5B5 6863 E6A1A3   2122 刀 B5B6 5200 E58880&lt;br /&gt;2123 捣 B5B7 6363 E68DA3   2124 蹈 B5B8 8E48 E8B988&lt;br /&gt;2125 倒 B5B9 5012 E58092   2126 岛 B5BA 5C9B E5B29B&lt;br /&gt;2127 祷 B5BB 7977 E7A5B7   2128 导 B5BC 5BFC E5AFBC&lt;br /&gt;2129 到 B5BD 5230 E588B0   2130 稻 B5BE 7A3B E7A8BB&lt;br /&gt;2131 悼 B5BF 60BC E682BC   2132 道 B5C0 9053 E98193&lt;br /&gt;2133 盗 B5C1 76D7 E79B97   2134 德 B5C2 5FB7 E5BEB7&lt;br /&gt;2135 得 B5C3 5F97 E5BE97   2136 的 B5C4 7684 E79A84&lt;br /&gt;2137 蹬 B5C5 8E6C E8B9AC   2138 灯 B5C6 706F E781AF&lt;br /&gt;2139 登 B5C7 767B E799BB   2140 等 B5C8 7B49 E7AD89&lt;br /&gt;2141 瞪 B5C9 77AA E79EAA   2142 凳 B5CA 51F3 E587B3&lt;br /&gt;2143 邓 B5CB 9093 E98293   2144 堤 B5CC 5824 E5A0A4&lt;br /&gt;2145 低 B5CD 4F4E E4BD8E   2146 滴 B5CE 6EF4 E6BBB4&lt;br /&gt;2147 迪 B5CF 8FEA E8BFAA   2148 敌 B5D0 654C E6958C&lt;br /&gt;2149 笛 B5D1 7B1B E7AC9B   2150 狄 B5D2 72C4 E78B84&lt;br /&gt;2151 涤 B5D3 6DA4 E6B6A4   2152 翟 B5D4 7FDF E7BF9F&lt;br /&gt;2153 嫡 B5D5 5AE1 E5ABA1   2154 抵 B5D6 62B5 E68AB5&lt;br /&gt;2155 底 B5D7 5E95 E5BA95   2156 地 B5D8 5730 E59CB0&lt;br /&gt;2157 蒂 B5D9 8482 E89282   2158 第 B5DA 7B2C E7ACAC&lt;br /&gt;2159 帝 B5DB 5E1D E5B89D   2160 弟 B5DC 5F1F E5BC9F&lt;br /&gt;2161 递 B5DD 9012 E98092   2162 缔 B5DE 7F14 E7BC94&lt;br /&gt;2163 颠 B5DF 98A0 E9A2A0   2164 掂 B5E0 6382 E68E82&lt;br /&gt;2165 滇 B5E1 6EC7 E6BB87   2166 碘 B5E2 7898 E7A298&lt;br /&gt;2167 点 B5E3 70B9 E782B9   2168 典 B5E4 5178 E585B8&lt;br /&gt;2169 靛 B5E5 975B E99D9B   2170 垫 B5E6 57AB E59EAB&lt;br /&gt;2171 电 B5E7 7535 E794B5   2172 佃 B5E8 4F43 E4BD83&lt;br /&gt;2173 甸 B5E9 7538 E794B8   2174 店 B5EA 5E97 E5BA97&lt;br /&gt;2175 惦 B5EB 60E6 E683A6   2176 奠 B5EC 5960 E5A5A0&lt;br /&gt;2177 淀 B5ED 6DC0 E6B780   2178 殿 B5EE 6BBF E6AEBF&lt;br /&gt;2179 碉 B5EF 7889 E7A289   2180 叼 B5F0 53FC E58FBC&lt;br /&gt;2181 雕 B5F1 96D5 E99B95   2182 凋 B5F2 51CB E5878B&lt;br /&gt;2183 刁 B5F3 5201 E58881   2184 掉 B5F4 6389 E68E89&lt;br /&gt;2185 吊 B5F5 540A E5908A   2186 钓 B5F6 9493 E99293&lt;br /&gt;2187 调 B5F7 8C03 E8B083   2188 跌 B5F8 8DCC E8B78C&lt;br /&gt;2189 爹 B5F9 7239 E788B9   2190 碟 B5FA 789F E7A29F&lt;br /&gt;2191 蝶 B5FB 8776 E89DB6   2192 迭 B5FC 8FED E8BFAD&lt;br /&gt;2193 谍 B5FD 8C0D E8B08D   2194 叠 B5FE 53E0 E58FA0&lt;br /&gt;2201 丁 B6A1 4E01 E4B881   2202 盯 B6A2 76EF E79BAF&lt;br /&gt;2203 叮 B6A3 53EE E58FAE   2204 钉 B6A4 9489 E99289&lt;br /&gt;2205 顶 B6A5 9876 E9A1B6   2206 鼎 B6A6 9F0E E9BC8E&lt;br /&gt;2207 锭 B6A7 952D E994AD   2208 定 B6A8 5B9A E5AE9A&lt;br /&gt;2209 订 B6A9 8BA2 E8AEA2   2210 丢 B6AA 4E22 E4B8A2&lt;br /&gt;2211 东 B6AB 4E1C E4B89C   2212 冬 B6AC 51AC E586AC&lt;br /&gt;2213 董 B6AD 8463 E891A3   2214 懂 B6AE 61C2 E68782&lt;br /&gt;2215 动 B6AF 52A8 E58AA8   2216 栋 B6B0 680B E6A08B&lt;br /&gt;2217 侗 B6B1 4F97 E4BE97   2218 恫 B6B2 606B E681AB&lt;br /&gt;2219 冻 B6B3 51BB E586BB   2220 洞 B6B4 6D1E E6B49E&lt;br /&gt;2221 兜 B6B5 515C E5859C   2222 抖 B6B6 6296 E68A96&lt;br /&gt;2223 斗 B6B7 6597 E69697   2224 陡 B6B8 9661 E999A1&lt;br /&gt;2225 豆 B6B9 8C46 E8B186   2226 逗 B6BA 9017 E98097&lt;br /&gt;2227 痘 B6BB 75D8 E79798   2228 都 B6BC 90FD E983BD&lt;br /&gt;2229 督 B6BD 7763 E79DA3   2230 毒 B6BE 6BD2 E6AF92&lt;br /&gt;2231 犊 B6BF 728A E78A8A   2232 独 B6C0 72EC E78BAC&lt;br /&gt;2233 读 B6C1 8BFB E8AFBB   2234 堵 B6C2 5835 E5A0B5&lt;br /&gt;2235 睹 B6C3 7779 E79DB9   2236 赌 B6C4 8D4C E8B58C&lt;br /&gt;2237 杜 B6C5 675C E69D9C   2238 镀 B6C6 9540 E99580&lt;br /&gt;2239 肚 B6C7 809A E8829A   2240 度 B6C8 5EA6 E5BAA6&lt;br /&gt;2241 渡 B6C9 6E21 E6B8A1   2242 妒 B6CA 5992 E5A692&lt;br /&gt;2243 端 B6CB 7AEF E7ABAF   2244 短 B6CC 77ED E79FAD&lt;br /&gt;2245 锻 B6CD 953B E994BB   2246 段 B6CE 6BB5 E6AEB5&lt;br /&gt;2247 断 B6CF 65AD E696AD   2248 缎 B6D0 7F0E E7BC8E&lt;br /&gt;2249 堆 B6D1 5806 E5A086   2250 兑 B6D2 5151 E58591&lt;br /&gt;2251 队 B6D3 961F E9989F   2252 对 B6D4 5BF9 E5AFB9&lt;br /&gt;2253 墩 B6D5 58A9 E5A2A9   2254 吨 B6D6 5428 E590A8&lt;br /&gt;2255 蹲 B6D7 8E72 E8B9B2   2256 敦 B6D8 6566 E695A6&lt;br /&gt;2257 顿 B6D9 987F E9A1BF   2258 囤 B6DA 56E4 E59BA4&lt;br /&gt;2259 钝 B6DB 949D E9929D   2260 盾 B6DC 76FE E79BBE&lt;br /&gt;2261 遁 B6DD 9041 E98181   2262 掇 B6DE 6387 E68E87&lt;br /&gt;2263 哆 B6DF 54C6 E59386   2264 多 B6E0 591A E5A49A&lt;br /&gt;2265 夺 B6E1 593A E5A4BA   2266 垛 B6E2 579B E59E9B&lt;br /&gt;2267 躲 B6E3 8EB2 E8BAB2   2268 朵 B6E4 6735 E69CB5&lt;br /&gt;2269 跺 B6E5 8DFA E8B7BA   2270 舵 B6E6 8235 E888B5&lt;br /&gt;2271 剁 B6E7 5241 E58981   2272 惰 B6E8 60F0 E683B0&lt;br /&gt;2273 堕 B6E9 5815 E5A095   2274 蛾 B6EA 86FE E89BBE&lt;br /&gt;2275 峨 B6EB 5CE8 E5B3A8   2276 鹅 B6EC 9E45 E9B985&lt;br /&gt;2277 俄 B6ED 4FC4 E4BF84   2278 额 B6EE 989D E9A29D&lt;br /&gt;2279 讹 B6EF 8BB9 E8AEB9   2280 娥 B6F0 5A25 E5A8A5&lt;br /&gt;2281 恶 B6F1 6076 E681B6   2282 厄 B6F2 5384 E58E84&lt;br /&gt;2283 扼 B6F3 627C E689BC   2284 遏 B6F4 904F E9818F&lt;br /&gt;2285 鄂 B6F5 9102 E98482   2286 饿 B6F6 997F E9A5BF&lt;br /&gt;2287 恩 B6F7 6069 E681A9   2288 而 B6F8 800C E8808C&lt;br /&gt;2289 儿 B6F9 513F E584BF   2290 耳 B6FA 8033 E880B3&lt;br /&gt;2291 尔 B6FB 5C14 E5B094   2292 饵 B6FC 9975 E9A5B5&lt;br /&gt;2293 洱 B6FD 6D31 E6B4B1   2294 二 B6FE 4E8C E4BA8C&lt;br /&gt;2301 贰 B7A1 8D30 E8B4B0   2302 发 B7A2 53D1 E58F91&lt;br /&gt;2303 罚 B7A3 7F5A E7BD9A   2304 筏 B7A4 7B4F E7AD8F&lt;br /&gt;2305 伐 B7A5 4F10 E4BC90   2306 乏 B7A6 4E4F E4B98F&lt;br /&gt;2307 阀 B7A7 9600 E99880   2308 法 B7A8 6CD5 E6B395&lt;br /&gt;2309 珐 B7A9 73D0 E78F90   2310 藩 B7AA 85E9 E897A9&lt;br /&gt;2311 帆 B7AB 5E06 E5B886   2312 番 B7AC 756A E795AA&lt;br /&gt;2313 翻 B7AD 7FFB E7BFBB   2314 樊 B7AE 6A0A E6A88A&lt;br /&gt;2315 矾 B7AF 77FE E79FBE   2316 钒 B7B0 9492 E99292&lt;br /&gt;2317 繁 B7B1 7E41 E7B981   2318 凡 B7B2 51E1 E587A1&lt;br /&gt;2319 烦 B7B3 70E6 E783A6   2320 反 B7B4 53CD E58F8D&lt;br /&gt;2321 返 B7B5 8FD4 E8BF94   2322 范 B7B6 8303 E88C83&lt;br /&gt;2323 贩 B7B7 8D29 E8B4A9   2324 犯 B7B8 72AF E78AAF&lt;br /&gt;2325 饭 B7B9 996D E9A5AD   2326 泛 B7BA 6CDB E6B39B&lt;br /&gt;2327 坊 B7BB 574A E59D8A   2328 芳 B7BC 82B3 E88AB3&lt;br /&gt;2329 方 B7BD 65B9 E696B9   2330 肪 B7BE 80AA E882AA&lt;br /&gt;2331 房 B7BF 623F E688BF   2332 防 B7C0 9632 E998B2&lt;br /&gt;2333 妨 B7C1 59A8 E5A6A8   2334 仿 B7C2 4EFF E4BBBF&lt;br /&gt;2335 访 B7C3 8BBF E8AEBF   2336 纺 B7C4 7EBA E7BABA&lt;br /&gt;2337 放 B7C5 653E E694BE   2338 菲 B7C6 83F2 E88FB2&lt;br /&gt;2339 非 B7C7 975E E99D9E   2340 啡 B7C8 5561 E595A1&lt;br /&gt;2341 飞 B7C9 98DE E9A39E   2342 肥 B7CA 80A5 E882A5&lt;br /&gt;2343 匪 B7CB 532A E58CAA   2344 诽 B7CC 8BFD E8AFBD&lt;br /&gt;2345 吠 B7CD 5420 E590A0   2346 肺 B7CE 80BA E882BA&lt;br /&gt;2347 废 B7CF 5E9F E5BA9F   2348 沸 B7D0 6CB8 E6B2B8&lt;br /&gt;2349 费 B7D1 8D39 E8B4B9   2350 芬 B7D2 82AC E88AAC&lt;br /&gt;2351 酚 B7D3 915A E9859A   2352 吩 B7D4 5429 E590A9&lt;br /&gt;2353 氛 B7D5 6C1B E6B09B   2354 分 B7D6 5206 E58886&lt;br /&gt;2355 纷 B7D7 7EB7 E7BAB7   2356 坟 B7D8 575F E59D9F&lt;br /&gt;2357 焚 B7D9 711A E7849A   2358 汾 B7DA 6C7E E6B1BE&lt;br /&gt;2359 粉 B7DB 7C89 E7B289   2360 奋 B7DC 594B E5A58B&lt;br /&gt;2361 份 B7DD 4EFD E4BBBD   2362 忿 B7DE 5FFF E5BFBF&lt;br /&gt;2363 愤 B7DF 6124 E684A4   2364 粪 B7E0 7CAA E7B2AA&lt;br /&gt;2365 丰 B7E1 4E30 E4B8B0   2366 封 B7E2 5C01 E5B081&lt;br /&gt;2367 枫 B7E3 67AB E69EAB   2368 蜂 B7E4 8702 E89C82&lt;br /&gt;2369 峰 B7E5 5CF0 E5B3B0   2370 锋 B7E6 950B E9948B&lt;br /&gt;2371 风 B7E7 98CE E9A38E   2372 疯 B7E8 75AF E796AF&lt;br /&gt;2373 烽 B7E9 70FD E783BD   2374 逢 B7EA 9022 E980A2&lt;br /&gt;2375 冯 B7EB 51AF E586AF   2376 缝 B7EC 7F1D E7BC9D&lt;br /&gt;2377 讽 B7ED 8BBD E8AEBD   2378 奉 B7EE 5949 E5A589&lt;br /&gt;2379 凤 B7EF 51E4 E587A4   2380 佛 B7F0 4F5B E4BD9B&lt;br /&gt;2381 否 B7F1 5426 E590A6   2382 夫 B7F2 592B E5A4AB&lt;br /&gt;2383 敷 B7F3 6577 E695B7   2384 肤 B7F4 80A4 E882A4&lt;br /&gt;2385 孵 B7F5 5B75 E5ADB5   2386 扶 B7F6 6276 E689B6&lt;br /&gt;2387 拂 B7F7 62C2 E68B82   2388 辐 B7F8 8F90 E8BE90&lt;br /&gt;2389 幅 B7F9 5E45 E5B985   2390 氟 B7FA 6C1F E6B09F&lt;br /&gt;2391 符 B7FB 7B26 E7ACA6   2392 伏 B7FC 4F0F E4BC8F&lt;br /&gt;2393 俘 B7FD 4FD8 E4BF98   2394 服 B7FE 670D E69C8D&lt;br /&gt;2401 浮 B8A1 6D6E E6B5AE   2402 涪 B8A2 6DAA E6B6AA&lt;br /&gt;2403 福 B8A3 798F E7A68F   2404 袱 B8A4 88B1 E8A2B1&lt;br /&gt;2405 弗 B8A5 5F17 E5BC97   2406 甫 B8A6 752B E794AB&lt;br /&gt;2407 抚 B8A7 629A E68A9A   2408 辅 B8A8 8F85 E8BE85&lt;br /&gt;2409 俯 B8A9 4FEF E4BFAF   2410 釜 B8AA 91DC E9879C&lt;br /&gt;2411 斧 B8AB 65A7 E696A7   2412 脯 B8AC 812F E884AF&lt;br /&gt;2413 腑 B8AD 8151 E88591   2414 府 B8AE 5E9C E5BA9C&lt;br /&gt;2415 腐 B8AF 8150 E88590   2416 赴 B8B0 8D74 E8B5B4&lt;br /&gt;2417 副 B8B1 526F E589AF   2418 覆 B8B2 8986 E8A686&lt;br /&gt;2419 赋 B8B3 8D4B E8B58B   2420 复 B8B4 590D E5A48D&lt;br /&gt;2421 傅 B8B5 5085 E58285   2422 付 B8B6 4ED8 E4BB98&lt;br /&gt;2423 阜 B8B7 961C E9989C   2424 父 B8B8 7236 E788B6&lt;br /&gt;2425 腹 B8B9 8179 E885B9   2426 负 B8BA 8D1F E8B49F&lt;br /&gt;2427 富 B8BB 5BCC E5AF8C   2428 讣 B8BC 8BA3 E8AEA3&lt;br /&gt;2429 附 B8BD 9644 E99984   2430 妇 B8BE 5987 E5A687&lt;br /&gt;2431 缚 B8BF 7F1A E7BC9A   2432 咐 B8C0 5490 E59290&lt;br /&gt;2433 噶 B8C1 5676 E599B6   2434 嘎 B8C2 560E E5988E&lt;br /&gt;2435 该 B8C3 8BE5 E8AFA5   2436 改 B8C4 6539 E694B9&lt;br /&gt;2437 概 B8C5 6982 E6A682   2438 钙 B8C6 9499 E99299&lt;br /&gt;2439 盖 B8C7 76D6 E79B96   2440 溉 B8C8 6E89 E6BA89&lt;br /&gt;2441 干 B8C9 5E72 E5B9B2   2442 甘 B8CA 7518 E79498&lt;br /&gt;2443 杆 B8CB 6746 E69D86   2444 柑 B8CC 67D1 E69F91&lt;br /&gt;2445 竿 B8CD 7AFF E7ABBF   2446 肝 B8CE 809D E8829D&lt;br /&gt;2447 赶 B8CF 8D76 E8B5B6   2448 感 B8D0 611F E6849F&lt;br /&gt;2449 秆 B8D1 79C6 E7A786   2450 敢 B8D2 6562 E695A2&lt;br /&gt;2451 赣 B8D3 8D63 E8B5A3   2452 冈 B8D4 5188 E58688&lt;br /&gt;2453 刚 B8D5 521A E5889A   2454 钢 B8D6 94A2 E992A2&lt;br /&gt;2455 缸 B8D7 7F38 E7BCB8   2456 肛 B8D8 809B E8829B&lt;br /&gt;2457 纲 B8D9 7EB2 E7BAB2   2458 岗 B8DA 5C97 E5B297&lt;br /&gt;2459 港 B8DB 6E2F E6B8AF   2460 杠 B8DC 6760 E69DA0&lt;br /&gt;2461 篙 B8DD 7BD9 E7AF99   2462 皋 B8DE 768B E79A8B&lt;br /&gt;2463 高 B8DF 9AD8 E9AB98   2464 膏 B8E0 818F E8868F&lt;br /&gt;2465 羔 B8E1 7F94 E7BE94   2466 糕 B8E2 7CD5 E7B395&lt;br /&gt;2467 搞 B8E3 641E E6909E   2468 镐 B8E4 9550 E99590&lt;br /&gt;2469 稿 B8E5 7A3F E7A8BF   2470 告 B8E6 544A E5918A&lt;br /&gt;2471 哥 B8E7 54E5 E593A5   2472 歌 B8E8 6B4C E6AD8C&lt;br /&gt;2473 搁 B8E9 6401 E69081   2474 戈 B8EA 6208 E68888&lt;br /&gt;2475 鸽 B8EB 9E3D E9B8BD   2476 胳 B8EC 80F3 E883B3&lt;br /&gt;2477 疙 B8ED 7599 E79699   2478 割 B8EE 5272 E589B2&lt;br /&gt;2479 革 B8EF 9769 E99DA9   2480 葛 B8F0 845B E8919B&lt;br /&gt;2481 格 B8F1 683C E6A0BC   2482 蛤 B8F2 86E4 E89BA4&lt;br /&gt;2483 阁 B8F3 9601 E99881   2484 隔 B8F4 9694 E99A94&lt;br /&gt;2485 铬 B8F5 94EC E993AC   2486 个 B8F6 4E2A E4B8AA&lt;br /&gt;2487 各 B8F7 5404 E59084   2488 给 B8F8 7ED9 E7BB99&lt;br /&gt;2489 根 B8F9 6839 E6A0B9   2490 跟 B8FA 8DDF E8B79F&lt;br /&gt;2491 耕 B8FB 8015 E88095   2492 更 B8FC 66F4 E69BB4&lt;br /&gt;2493 庚 B8FD 5E9A E5BA9A   2494 羹 B8FE 7FB9 E7BEB9&lt;br /&gt;2501 埂 B9A1 57C2 E59F82   2502 耿 B9A2 803F E880BF&lt;br /&gt;2503 梗 B9A3 6897 E6A297   2504 工 B9A4 5DE5 E5B7A5&lt;br /&gt;2505 攻 B9A5 653B E694BB   2506 功 B9A6 529F E58A9F&lt;br /&gt;2507 恭 B9A7 606D E681AD   2508 龚 B9A8 9F9A E9BE9A&lt;br /&gt;2509 供 B9A9 4F9B E4BE9B   2510 躬 B9AA 8EAC E8BAAC&lt;br /&gt;2511 公 B9AB 516C E585AC   2512 宫 B9AC 5BAB E5AEAB&lt;br /&gt;2513 弓 B9AD 5F13 E5BC93   2514 巩 B9AE 5DE9 E5B7A9&lt;br /&gt;2515 汞 B9AF 6C5E E6B19E   2516 拱 B9B0 62F1 E68BB1&lt;br /&gt;2517 贡 B9B1 8D21 E8B4A1   2518 共 B9B2 5171 E585B1&lt;br /&gt;2519 钩 B9B3 94A9 E992A9   2520 勾 B9B4 52FE E58BBE&lt;br /&gt;2521 沟 B9B5 6C9F E6B29F   2522 苟 B9B6 82DF E88B9F&lt;br /&gt;2523 狗 B9B7 72D7 E78B97   2524 垢 B9B8 57A2 E59EA2&lt;br /&gt;2525 构 B9B9 6784 E69E84   2526 购 B9BA 8D2D E8B4AD&lt;br /&gt;2527 够 B9BB 591F E5A49F   2528 辜 B9BC 8F9C E8BE9C&lt;br /&gt;2529 菇 B9BD 83C7 E88F87   2530 咕 B9BE 5495 E59295&lt;br /&gt;2531 箍 B9BF 7B8D E7AE8D   2532 估 B9C0 4F30 E4BCB0&lt;br /&gt;2533 沽 B9C1 6CBD E6B2BD   2534 孤 B9C2 5B64 E5ADA4&lt;br /&gt;2535 姑 B9C3 59D1 E5A791   2536 鼓 B9C4 9F13 E9BC93&lt;br /&gt;2537 古 B9C5 53E4 E58FA4   2538 蛊 B9C6 86CA E89B8A&lt;br /&gt;2539 骨 B9C7 9AA8 E9AAA8   2540 谷 B9C8 8C37 E8B0B7&lt;br /&gt;2541 股 B9C9 80A1 E882A1   2542 故 B9CA 6545 E69585&lt;br /&gt;2543 顾 B9CB 987E E9A1BE   2544 固 B9CC 56FA E59BBA&lt;br /&gt;2545 雇 B9CD 96C7 E99B87   2546 刮 B9CE 522E E588AE&lt;br /&gt;2547 瓜 B9CF 74DC E7939C   2548 剐 B9D0 5250 E58990&lt;br /&gt;2549 寡 B9D1 5BE1 E5AFA1   2550 挂 B9D2 6302 E68C82&lt;br /&gt;2551 褂 B9D3 8902 E8A482   2552 乖 B9D4 4E56 E4B996&lt;br /&gt;2553 拐 B9D5 62D0 E68B90   2554 怪 B9D6 602A E680AA&lt;br /&gt;2555 棺 B9D7 68FA E6A3BA   2556 关 B9D8 5173 E585B3&lt;br /&gt;2557 官 B9D9 5B98 E5AE98   2558 冠 B9DA 51A0 E586A0&lt;br /&gt;2559 观 B9DB 89C2 E8A782   2560 管 B9DC 7BA1 E7AEA1&lt;br /&gt;2561 馆 B9DD 9986 E9A686   2562 罐 B9DE 7F50 E7BD90&lt;br /&gt;2563 惯 B9DF 60EF E683AF   2564 灌 B9E0 704C E7818C&lt;br /&gt;2565 贯 B9E1 8D2F E8B4AF   2566 光 B9E2 5149 E58589&lt;br /&gt;2567 广 B9E3 5E7F E5B9BF   2568 逛 B9E4 901B E9809B&lt;br /&gt;2569 瑰 B9E5 7470 E791B0   2570 规 B9E6 89C4 E8A784&lt;br /&gt;2571 圭 B9E7 572D E59CAD   2572 硅 B9E8 7845 E7A185&lt;br /&gt;2573 归 B9E9 5F52 E5BD92   2574 龟 B9EA 9F9F E9BE9F&lt;br /&gt;2575 闺 B9EB 95FA E997BA   2576 轨 B9EC 8F68 E8BDA8&lt;br /&gt;2577 鬼 B9ED 9B3C E9ACBC   2578 诡 B9EE 8BE1 E8AFA1&lt;br /&gt;2579 癸 B9EF 7678 E799B8   2580 桂 B9F0 6842 E6A182&lt;br /&gt;2581 柜 B9F1 67DC E69F9C   2582 跪 B9F2 8DEA E8B7AA&lt;br /&gt;2583 贵 B9F3 8D35 E8B4B5   2584 刽 B9F4 523D E588BD&lt;br /&gt;2585 辊 B9F5 8F8A E8BE8A   2586 滚 B9F6 6EDA E6BB9A&lt;br /&gt;2587 棍 B9F7 68CD E6A38D   2588 锅 B9F8 9505 E99485&lt;br /&gt;2589 郭 B9F9 90ED E983AD   2590 国 B9FA 56FD E59BBD&lt;br /&gt;2591 果 B9FB 679C E69E9C   2592 裹 B9FC 88F9 E8A3B9&lt;br /&gt;2593 过 B9FD 8FC7 E8BF87   2594 哈 B9FE 54C8 E59388&lt;br /&gt;2601 骸 BAA1 9AB8 E9AAB8   2602 孩 BAA2 5B69 E5ADA9&lt;br /&gt;2603 海 BAA3 6D77 E6B5B7   2604 氦 BAA4 6C26 E6B0A6&lt;br /&gt;2605 亥 BAA5 4EA5 E4BAA5   2606 害 BAA6 5BB3 E5AEB3&lt;br /&gt;2607 骇 BAA7 9A87 E9AA87   2608 酣 BAA8 9163 E985A3&lt;br /&gt;2609 憨 BAA9 61A8 E686A8   2610 邯 BAAA 90AF E982AF&lt;br /&gt;2611 韩 BAAB 97E9 E99FA9   2612 含 BAAC 542B E590AB&lt;br /&gt;2613 涵 BAAD 6DB5 E6B6B5   2614 寒 BAAE 5BD2 E5AF92&lt;br /&gt;2615 函 BAAF 51FD E587BD   2616 喊 BAB0 558A E5968A&lt;br /&gt;2617 罕 BAB1 7F55 E7BD95   2618 翰 BAB2 7FF0 E7BFB0&lt;br /&gt;2619 撼 BAB3 64BC E692BC   2620 捍 BAB4 634D E68D8D&lt;br /&gt;2621 旱 BAB5 65F1 E697B1   2622 憾 BAB6 61BE E686BE&lt;br /&gt;2623 悍 BAB7 608D E6828D   2624 焊 BAB8 710A E7848A&lt;br /&gt;2625 汗 BAB9 6C57 E6B197   2626 汉 BABA 6C49 E6B189&lt;br /&gt;2627 夯 BABB 592F E5A4AF   2628 杭 BABC 676D E69DAD&lt;br /&gt;2629 航 BABD 822A E888AA   2630 壕 BABE 58D5 E5A395&lt;br /&gt;2631 嚎 BABF 568E E59A8E   2632 豪 BAC0 8C6A E8B1AA&lt;br /&gt;2633 毫 BAC1 6BEB E6AFAB   2634 郝 BAC2 90DD E9839D&lt;br /&gt;2635 好 BAC3 597D E5A5BD   2636 耗 BAC4 8017 E88097&lt;br /&gt;2637 号 BAC5 53F7 E58FB7   2638 浩 BAC6 6D69 E6B5A9&lt;br /&gt;2639 呵 BAC7 5475 E591B5   2640 喝 BAC8 559D E5969D&lt;br /&gt;2641 荷 BAC9 8377 E88DB7   2642 菏 BACA 83CF E88F8F&lt;br /&gt;2643 核 BACB 6838 E6A0B8   2644 禾 BACC 79BE E7A6BE&lt;br /&gt;2645 和 BACD 548C E5928C   2646 何 BACE 4F55 E4BD95&lt;br /&gt;2647 合 BACF 5408 E59088   2648 盒 BAD0 76D2 E79B92&lt;br /&gt;2649 貉 BAD1 8C89 E8B289   2650 阂 BAD2 9602 E99882&lt;br /&gt;2651 河 BAD3 6CB3 E6B2B3   2652 涸 BAD4 6DB8 E6B6B8&lt;br /&gt;2653 赫 BAD5 8D6B E8B5AB   2654 褐 BAD6 8910 E8A490&lt;br /&gt;2655 鹤 BAD7 9E64 E9B9A4   2656 贺 BAD8 8D3A E8B4BA&lt;br /&gt;2657 嘿 BAD9 563F E598BF   2658 黑 BADA 9ED1 E9BB91&lt;br /&gt;2659 痕 BADB 75D5 E79795   2660 很 BADC 5F88 E5BE88&lt;br /&gt;2661 狠 BADD 72E0 E78BA0   2662 恨 BADE 6068 E681A8&lt;br /&gt;2663 哼 BADF 54FC E593BC   2664 亨 BAE0 4EA8 E4BAA8&lt;br /&gt;2665 横 BAE1 6A2A E6A8AA   2666 衡 BAE2 8861 E8A1A1&lt;br /&gt;2667 恒 BAE3 6052 E68192   2668 轰 BAE4 8F70 E8BDB0&lt;br /&gt;2669 哄 BAE5 54C4 E59384   2670 烘 BAE6 70D8 E78398&lt;br /&gt;2671 虹 BAE7 8679 E899B9   2672 鸿 BAE8 9E3F E9B8BF&lt;br /&gt;2673 洪 BAE9 6D2A E6B4AA   2674 宏 BAEA 5B8F E5AE8F&lt;br /&gt;2675 弘 BAEB 5F18 E5BC98   2676 红 BAEC 7EA2 E7BAA2&lt;br /&gt;2677 喉 BAED 5589 E59689   2678 侯 BAEE 4FAF E4BEAF&lt;br /&gt;2679 猴 BAEF 7334 E78CB4   2680 吼 BAF0 543C E590BC&lt;br /&gt;2681 厚 BAF1 539A E58E9A   2682 候 BAF2 5019 E58099&lt;br /&gt;2683 后 BAF3 540E E5908E   2684 呼 BAF4 547C E591BC&lt;br /&gt;2685 乎 BAF5 4E4E E4B98E   2686 忽 BAF6 5FFD E5BFBD&lt;br /&gt;2687 瑚 BAF7 745A E7919A   2688 壶 BAF8 58F6 E5A3B6&lt;br /&gt;2689 葫 BAF9 846B E891AB   2690 胡 BAFA 80E1 E883A1&lt;br /&gt;2691 蝴 BAFB 8774 E89DB4   2692 狐 BAFC 72D0 E78B90&lt;br /&gt;2693 糊 BAFD 7CCA E7B38A   2694 湖 BAFE 6E56 E6B996&lt;br /&gt;2701 弧 BBA1 5F27 E5BCA7   2702 虎 BBA2 864E E8998E&lt;br /&gt;2703 唬 BBA3 552C E594AC   2704 护 BBA4 62A4 E68AA4&lt;br /&gt;2705 互 BBA5 4E92 E4BA92   2706 沪 BBA6 6CAA E6B2AA&lt;br /&gt;2707 户 BBA7 6237 E688B7   2708 花 BBA8 82B1 E88AB1&lt;br /&gt;2709 哗 BBA9 54D7 E59397   2710 华 BBAA 534E E58D8E&lt;br /&gt;2711 猾 BBAB 733E E78CBE   2712 滑 BBAC 6ED1 E6BB91&lt;br /&gt;2713 画 BBAD 753B E794BB   2714 划 BBAE 5212 E58892&lt;br /&gt;2715 化 BBAF 5316 E58C96   2716 话 BBB0 8BDD E8AF9D&lt;br /&gt;2717 槐 BBB1 69D0 E6A790   2718 徊 BBB2 5F8A E5BE8A&lt;br /&gt;2719 怀 BBB3 6000 E68080   2720 淮 BBB4 6DEE E6B7AE&lt;br /&gt;2721 坏 BBB5 574F E59D8F   2722 欢 BBB6 6B22 E6ACA2&lt;br /&gt;2723 环 BBB7 73AF E78EAF   2724 桓 BBB8 6853 E6A193&lt;br /&gt;2725 还 BBB9 8FD8 E8BF98   2726 缓 BBBA 7F13 E7BC93&lt;br /&gt;2727 换 BBBB 6362 E68DA2   2728 患 BBBC 60A3 E682A3&lt;br /&gt;2729 唤 BBBD 5524 E594A4   2730 痪 BBBE 75EA E797AA&lt;br /&gt;2731 豢 BBBF 8C62 E8B1A2   2732 焕 BBC0 7115 E78495&lt;br /&gt;2733 涣 BBC1 6DA3 E6B6A3   2734 宦 BBC2 5BA6 E5AEA6&lt;br /&gt;2735 幻 BBC3 5E7B E5B9BB   2736 荒 BBC4 8352 E88D92&lt;br /&gt;2737 慌 BBC5 614C E6858C   2738 黄 BBC6 9EC4 E9BB84&lt;br /&gt;2739 磺 BBC7 78FA E7A3BA   2740 蝗 BBC8 8757 E89D97&lt;br /&gt;2741 簧 BBC9 7C27 E7B0A7   2742 皇 BBCA 7687 E79A87&lt;br /&gt;2743 凰 BBCB 51F0 E587B0   2744 惶 BBCC 60F6 E683B6&lt;br /&gt;2745 煌 BBCD 714C E7858C   2746 晃 BBCE 6643 E69983&lt;br /&gt;2747 幌 BBCF 5E4C E5B98C   2748 恍 BBD0 604D E6818D&lt;br /&gt;2749 谎 BBD1 8C0E E8B08E   2750 灰 BBD2 7070 E781B0&lt;br /&gt;2751 挥 BBD3 6325 E68CA5   2752 辉 BBD4 8F89 E8BE89&lt;br /&gt;2753 徽 BBD5 5FBD E5BEBD   2754 恢 BBD6 6062 E681A2&lt;br /&gt;2755 蛔 BBD7 86D4 E89B94   2756 回 BBD8 56DE E59B9E&lt;br /&gt;2757 毁 BBD9 6BC1 E6AF81   2758 悔 BBDA 6094 E68294&lt;br /&gt;2759 慧 BBDB 6167 E685A7   2760 卉 BBDC 5349 E58D89&lt;br /&gt;2761 惠 BBDD 60E0 E683A0   2762 晦 BBDE 6666 E699A6&lt;br /&gt;2763 贿 BBDF 8D3F E8B4BF   2764 秽 BBE0 79FD E7A7BD&lt;br /&gt;2765 会 BBE1 4F1A E4BC9A   2766 烩 BBE2 70E9 E783A9&lt;br /&gt;2767 汇 BBE3 6C47 E6B187   2768 讳 BBE4 8BB3 E8AEB3&lt;br /&gt;2769 诲 BBE5 8BF2 E8AFB2   2770 绘 BBE6 7ED8 E7BB98&lt;br /&gt;2771 荤 BBE7 8364 E88DA4   2772 昏 BBE8 660F E6988F&lt;br /&gt;2773 婚 BBE9 5A5A E5A99A   2774 魂 BBEA 9B42 E9AD82&lt;br /&gt;2775 浑 BBEB 6D51 E6B591   2776 混 BBEC 6DF7 E6B7B7&lt;br /&gt;2777 豁 BBED 8C41 E8B181   2778 活 BBEE 6D3B E6B4BB&lt;br /&gt;2779 伙 BBEF 4F19 E4BC99   2780 火 BBF0 706B E781AB&lt;br /&gt;2781 获 BBF1 83B7 E88EB7   2782 或 BBF2 6216 E68896&lt;br /&gt;2783 惑 BBF3 60D1 E68391   2784 霍 BBF4 970D E99C8D&lt;br /&gt;2785 货 BBF5 8D27 E8B4A7   2786 祸 BBF6 7978 E7A5B8&lt;br /&gt;2787 击 BBF7 51FB E587BB   2788 圾 BBF8 573E E59CBE&lt;br /&gt;2789 基 BBF9 57FA E59FBA   2790 机 BBFA 673A E69CBA&lt;br /&gt;2791 畸 BBFB 7578 E795B8   2792 稽 BBFC 7A3D E7A8BD&lt;br /&gt;2793 积 BBFD 79EF E7A7AF   2794 箕 BBFE 7B95 E7AE95&lt;br /&gt;2801 肌 BCA1 808C E8828C   2802 饥 BCA2 9965 E9A5A5&lt;br /&gt;2803 迹 BCA3 8FF9 E8BFB9   2804 激 BCA4 6FC0 E6BF80&lt;br /&gt;2805 讥 BCA5 8BA5 E8AEA5   2806 鸡 BCA6 9E21 E9B8A1&lt;br /&gt;2807 姬 BCA7 59EC E5A7AC   2808 绩 BCA8 7EE9 E7BBA9&lt;br /&gt;2809 缉 BCA9 7F09 E7BC89   2810 吉 BCAA 5409 E59089&lt;br /&gt;2811 极 BCAB 6781 E69E81   2812 棘 BCAC 68D8 E6A398&lt;br /&gt;2813 辑 BCAD 8F91 E8BE91   2814 籍 BCAE 7C4D E7B18D&lt;br /&gt;2815 集 BCAF 96C6 E99B86   2816 及 BCB0 53CA E58F8A&lt;br /&gt;2817 急 BCB1 6025 E680A5   2818 疾 BCB2 75BE E796BE&lt;br /&gt;2819 汲 BCB3 6C72 E6B1B2   2820 即 BCB4 5373 E58DB3&lt;br /&gt;2821 嫉 BCB5 5AC9 E5AB89   2822 级 BCB6 7EA7 E7BAA7&lt;br /&gt;2823 挤 BCB7 6324 E68CA4   2824 几 BCB8 51E0 E587A0&lt;br /&gt;2825 脊 BCB9 810A E8848A   2826 己 BCBA 5DF1 E5B7B1&lt;br /&gt;2827 蓟 BCBB 84DF E8939F   2828 技 BCBC 6280 E68A80&lt;br /&gt;2829 冀 BCBD 5180 E58680   2830 季 BCBE 5B63 E5ADA3&lt;br /&gt;2831 伎 BCBF 4F0E E4BC8E   2832 祭 BCC0 796D E7A5AD&lt;br /&gt;2833 剂 BCC1 5242 E58982   2834 悸 BCC2 60B8 E682B8&lt;br /&gt;2835 济 BCC3 6D4E E6B58E   2836 寄 BCC4 5BC4 E5AF84&lt;br /&gt;2837 寂 BCC5 5BC2 E5AF82   2838 计 BCC6 8BA1 E8AEA1&lt;br /&gt;2839 记 BCC7 8BB0 E8AEB0   2840 既 BCC8 65E2 E697A2&lt;br /&gt;2841 忌 BCC9 5FCC E5BF8C   2842 际 BCCA 9645 E99985&lt;br /&gt;2843 妓 BCCB 5993 E5A693   2844 继 BCCC 7EE7 E7BBA7&lt;br /&gt;2845 纪 BCCD 7EAA E7BAAA   2846 嘉 BCCE 5609 E59889&lt;br /&gt;2847 枷 BCCF 67B7 E69EB7   2848 夹 BCD0 5939 E5A4B9&lt;br /&gt;2849 佳 BCD1 4F73 E4BDB3   2850 家 BCD2 5BB6 E5AEB6&lt;br /&gt;2851 加 BCD3 52A0 E58AA0   2852 荚 BCD4 835A E88D9A&lt;br /&gt;2853 颊 BCD5 988A E9A28A   2854 贾 BCD6 8D3E E8B4BE&lt;br /&gt;2855 甲 BCD7 7532 E794B2   2856 钾 BCD8 94BE E992BE&lt;br /&gt;2857 假 BCD9 5047 E58187   2858 稼 BCDA 7A3C E7A8BC&lt;br /&gt;2859 价 BCDB 4EF7 E4BBB7   2860 架 BCDC 67B6 E69EB6&lt;br /&gt;2861 驾 BCDD 9A7E E9A9BE   2862 嫁 BCDE 5AC1 E5AB81&lt;br /&gt;2863 歼 BCDF 6B7C E6ADBC   2864 监 BCE0 76D1 E79B91&lt;br /&gt;2865 坚 BCE1 575A E59D9A   2866 尖 BCE2 5C16 E5B096&lt;br /&gt;2867 笺 BCE3 7B3A E7ACBA   2868 间 BCE4 95F4 E997B4&lt;br /&gt;2869 煎 BCE5 714E E7858E   2870 兼 BCE6 517C E585BC&lt;br /&gt;2871 肩 BCE7 80A9 E882A9   2872 艰 BCE8 8270 E889B0&lt;br /&gt;2873 奸 BCE9 5978 E5A5B8   2874 缄 BCEA 7F04 E7BC84&lt;br /&gt;2875 茧 BCEB 8327 E88CA7   2876 检 BCEC 68C0 E6A380&lt;br /&gt;2877 柬 BCED 67EC E69FAC   2878 碱 BCEE 78B1 E7A2B1&lt;br /&gt;2879 硷 BCEF 7877 E7A1B7   2880 拣 BCF0 62E3 E68BA3&lt;br /&gt;2881 捡 BCF1 6361 E68DA1   2882 简 BCF2 7B80 E7AE80&lt;br /&gt;2883 俭 BCF3 4FED E4BFAD   2884 剪 BCF4 526A E589AA&lt;br /&gt;2885 减 BCF5 51CF E5878F   2886 荐 BCF6 8350 E88D90&lt;br /&gt;2887 槛 BCF7 69DB E6A79B   2888 鉴 BCF8 9274 E989B4&lt;br /&gt;2889 践 BCF9 8DF5 E8B7B5   2890 贱 BCFA 8D31 E8B4B1&lt;br /&gt;2891 见 BCFB 89C1 E8A781   2892 键 BCFC 952E E994AE&lt;br /&gt;2893 箭 BCFD 7BAD E7AEAD   2894 件 BCFE 4EF6 E4BBB6&lt;br /&gt;2901 健 BDA1 5065 E581A5   2902 舰 BDA2 8230 E888B0&lt;br /&gt;2903 剑 BDA3 5251 E58991   2904 饯 BDA4 996F E9A5AF&lt;br /&gt;2905 渐 BDA5 6E10 E6B890   2906 溅 BDA6 6E85 E6BA85&lt;br /&gt;2907 涧 BDA7 6DA7 E6B6A7   2908 建 BDA8 5EFA E5BBBA&lt;br /&gt;2909 僵 BDA9 50F5 E583B5   2910 姜 BDAA 59DC E5A79C&lt;br /&gt;2911 将 BDAB 5C06 E5B086   2912 浆 BDAC 6D46 E6B586&lt;br /&gt;2913 江 BDAD 6C5F E6B19F   2914 疆 BDAE 7586 E79686&lt;br /&gt;2915 蒋 BDAF 848B E8928B   2916 桨 BDB0 6868 E6A1A8&lt;br /&gt;2917 奖 BDB1 5956 E5A596   2918 讲 BDB2 8BB2 E8AEB2&lt;br /&gt;2919 匠 BDB3 5320 E58CA0   2920 酱 BDB4 9171 E985B1&lt;br /&gt;2921 降 BDB5 964D E9998D   2922 蕉 BDB6 8549 E89589&lt;br /&gt;2923 椒 BDB7 6912 E6A492   2924 礁 BDB8 7901 E7A481&lt;br /&gt;2925 焦 BDB9 7126 E784A6   2926 胶 BDBA 80F6 E883B6&lt;br /&gt;2927 交 BDBB 4EA4 E4BAA4   2928 郊 BDBC 90CA E9838A&lt;br /&gt;2929 浇 BDBD 6D47 E6B587   2930 骄 BDBE 9A84 E9AA84&lt;br /&gt;2931 娇 BDBF 5A07 E5A887   2932 嚼 BDC0 56BC E59ABC&lt;br /&gt;2933 搅 BDC1 6405 E69085   2934 铰 BDC2 94F0 E993B0&lt;br /&gt;2935 矫 BDC3 77EB E79FAB   2936 侥 BDC4 4FA5 E4BEA5&lt;br /&gt;2937 脚 BDC5 811A E8849A   2938 狡 BDC6 72E1 E78BA1&lt;br /&gt;2939 角 BDC7 89D2 E8A792   2940 饺 BDC8 997A E9A5BA&lt;br /&gt;2941 缴 BDC9 7F34 E7BCB4   2942 绞 BDCA 7EDE E7BB9E&lt;br /&gt;2943 剿 BDCB 527F E589BF   2944 教 BDCC 6559 E69599&lt;br /&gt;2945 酵 BDCD 9175 E985B5   2946 轿 BDCE 8F7F E8BDBF&lt;br /&gt;2947 较 BDCF 8F83 E8BE83   2948 叫 BDD0 53EB E58FAB&lt;br /&gt;2949 窖 BDD1 7A96 E7AA96   2950 揭 BDD2 63ED E68FAD&lt;br /&gt;2951 接 BDD3 63A5 E68EA5   2952 皆 BDD4 7686 E79A86&lt;br /&gt;2953 秸 BDD5 79F8 E7A7B8   2954 街 BDD6 8857 E8A197&lt;br /&gt;2955 阶 BDD7 9636 E998B6   2956 截 BDD8 622A E688AA&lt;br /&gt;2957 劫 BDD9 52AB E58AAB   2958 节 BDDA 8282 E88A82&lt;br /&gt;2959 桔 BDDB 6854 E6A194   2960 杰 BDDC 6770 E69DB0&lt;br /&gt;2961 捷 BDDD 6377 E68DB7   2962 睫 BDDE 776B E79DAB&lt;br /&gt;2963 竭 BDDF 7AED E7ABAD   2964 洁 BDE0 6D01 E6B481&lt;br /&gt;2965 结 BDE1 7ED3 E7BB93   2966 解 BDE2 89E3 E8A7A3&lt;br /&gt;2967 姐 BDE3 59D0 E5A790   2968 戒 BDE4 6212 E68892&lt;br /&gt;2969 藉 BDE5 85C9 E89789   2970 芥 BDE6 82A5 E88AA5&lt;br /&gt;2971 界 BDE7 754C E7958C   2972 借 BDE8 501F E5809F&lt;br /&gt;2973 介 BDE9 4ECB E4BB8B   2974 疥 BDEA 75A5 E796A5&lt;br /&gt;2975 诫 BDEB 8BEB E8AFAB   2976 届 BDEC 5C4A E5B18A&lt;br /&gt;2977 巾 BDED 5DFE E5B7BE   2978 筋 BDEE 7B4B E7AD8B&lt;br /&gt;2979 斤 BDEF 65A4 E696A4   2980 金 BDF0 91D1 E98791&lt;br /&gt;2981 今 BDF1 4ECA E4BB8A   2982 津 BDF2 6D25 E6B4A5&lt;br /&gt;2983 襟 BDF3 895F E8A59F   2984 紧 BDF4 7D27 E7B4A7&lt;br /&gt;2985 锦 BDF5 9526 E994A6   2986 仅 BDF6 4EC5 E4BB85&lt;br /&gt;2987 谨 BDF7 8C28 E8B0A8   2988 进 BDF8 8FDB E8BF9B&lt;br /&gt;2989 靳 BDF9 9773 E99DB3   2990 晋 BDFA 664B E6998B&lt;br /&gt;2991 禁 BDFB 7981 E7A681   2992 近 BDFC 8FD1 E8BF91&lt;br /&gt;2993 烬 BDFD 70EC E783AC   2994 浸 BDFE 6D78 E6B5B8&lt;br /&gt;3001 尽 BEA1 5C3D E5B0BD   3002 劲 BEA2 52B2 E58AB2&lt;br /&gt;3003 荆 BEA3 8346 E88D86   3004 兢 BEA4 5162 E585A2&lt;br /&gt;3005 茎 BEA5 830E E88C8E   3006 睛 BEA6 775B E79D9B&lt;br /&gt;3007 晶 BEA7 6676 E699B6   3008 鲸 BEA8 9CB8 E9B2B8&lt;br /&gt;3009 京 BEA9 4EAC E4BAAC   3010 惊 BEAA 60CA E6838A&lt;br /&gt;3011 精 BEAB 7CBE E7B2BE   3012 粳 BEAC 7CB3 E7B2B3&lt;br /&gt;3013 经 BEAD 7ECF E7BB8F   3014 井 BEAE 4E95 E4BA95&lt;br /&gt;3015 警 BEAF 8B66 E8ADA6   3016 景 BEB0 666F E699AF&lt;br /&gt;3017 颈 BEB1 9888 E9A288   3018 静 BEB2 9759 E99D99&lt;br /&gt;3019 境 BEB3 5883 E5A283   3020 敬 BEB4 656C E695AC&lt;br /&gt;3021 镜 BEB5 955C E9959C   3022 径 BEB6 5F84 E5BE84&lt;br /&gt;3023 痉 BEB7 75C9 E79789   3024 靖 BEB8 9756 E99D96&lt;br /&gt;3025 竟 BEB9 7ADF E7AB9F   3026 竞 BEBA 7ADE E7AB9E&lt;br /&gt;3027 净 BEBB 51C0 E58780   3028 炯 BEBC 70AF E782AF&lt;br /&gt;3029 窘 BEBD 7A98 E7AA98   3030 揪 BEBE 63EA E68FAA&lt;br /&gt;3031 究 BEBF 7A76 E7A9B6   3032 纠 BEC0 7EA0 E7BAA0&lt;br /&gt;3033 玖 BEC1 7396 E78E96   3034 韭 BEC2 97ED E99FAD&lt;br /&gt;3035 久 BEC3 4E45 E4B985   3036 灸 BEC4 7078 E781B8&lt;br /&gt;3037 九 BEC5 4E5D E4B99D   3038 酒 BEC6 9152 E98592&lt;br /&gt;3039 厩 BEC7 53A9 E58EA9   3040 救 BEC8 6551 E69591&lt;br /&gt;3041 旧 BEC9 65E7 E697A7   3042 臼 BECA 81FC E887BC&lt;br /&gt;3043 舅 BECB 8205 E88885   3044 咎 BECC 548E E5928E&lt;br /&gt;3045 就 BECD 5C31 E5B0B1   3046 疚 BECE 759A E7969A&lt;br /&gt;3047 鞠 BECF 97A0 E99EA0   3048 拘 BED0 62D8 E68B98&lt;br /&gt;3049 狙 BED1 72D9 E78B99   3050 疽 BED2 75BD E796BD&lt;br /&gt;3051 居 BED3 5C45 E5B185   3052 驹 BED4 9A79 E9A9B9&lt;br /&gt;3053 菊 BED5 83CA E88F8A   3054 局 BED6 5C40 E5B180&lt;br /&gt;3055 咀 BED7 5480 E59280   3056 矩 BED8 77E9 E79FA9&lt;br /&gt;3057 举 BED9 4E3E E4B8BE   3058 沮 BEDA 6CAE E6B2AE&lt;br /&gt;3059 聚 BEDB 805A E8819A   3060 拒 BEDC 62D2 E68B92&lt;br /&gt;3061 据 BEDD 636E E68DAE   3062 巨 BEDE 5DE8 E5B7A8&lt;br /&gt;3063 具 BEDF 5177 E585B7   3064 距 BEE0 8DDD E8B79D&lt;br /&gt;3065 踞 BEE1 8E1E E8B89E   3066 锯 BEE2 952F E994AF&lt;br /&gt;3067 俱 BEE3 4FF1 E4BFB1   3068 句 BEE4 53E5 E58FA5&lt;br /&gt;3069 惧 BEE5 60E7 E683A7   3070 炬 BEE6 70AC E782AC&lt;br /&gt;3071 剧 BEE7 5267 E589A7   3072 捐 BEE8 6350 E68D90&lt;br /&gt;3073 鹃 BEE9 9E43 E9B983   3074 娟 BEEA 5A1F E5A89F&lt;br /&gt;3075 倦 BEEB 5026 E580A6   3076 眷 BEEC 7737 E79CB7&lt;br /&gt;3077 卷 BEED 5377 E58DB7   3078 绢 BEEE 7EE2 E7BBA2&lt;br /&gt;3079 撅 BEEF 6485 E69285   3080 攫 BEF0 652B E694AB&lt;br /&gt;3081 抉 BEF1 6289 E68A89   3082 掘 BEF2 6398 E68E98&lt;br /&gt;3083 倔 BEF3 5014 E58094   3084 爵 BEF4 7235 E788B5&lt;br /&gt;3085 觉 BEF5 89C9 E8A789   3086 决 BEF6 51B3 E586B3&lt;br /&gt;3087 诀 BEF7 8BC0 E8AF80   3088 绝 BEF8 7EDD E7BB9D&lt;br /&gt;3089 均 BEF9 5747 E59D87   3090 菌 BEFA 83CC E88F8C&lt;br /&gt;3091 钧 BEFB 94A7 E992A7   3092 军 BEFC 519B E5869B&lt;br /&gt;3093 君 BEFD 541B E5909B   3094 峻 BEFE 5CFB E5B3BB&lt;br /&gt;3101 俊 BFA1 4FCA E4BF8A   3102 竣 BFA2 7AE3 E7ABA3&lt;br /&gt;3103 浚 BFA3 6D5A E6B59A   3104 郡 BFA4 90E1 E983A1&lt;br /&gt;3105 骏 BFA5 9A8F E9AA8F   3106 喀 BFA6 5580 E59680&lt;br /&gt;3107 咖 BFA7 5496 E59296   3108 卡 BFA8 5361 E58DA1&lt;br /&gt;3109 咯 BFA9 54AF E592AF   3110 开 BFAA 5F00 E5BC80&lt;br /&gt;3111 揩 BFAB 63E9 E68FA9   3112 楷 BFAC 6977 E6A5B7&lt;br /&gt;3113 凯 BFAD 51EF E587AF   3114 慨 BFAE 6168 E685A8&lt;br /&gt;3115 刊 BFAF 520A E5888A   3116 堪 BFB0 582A E5A0AA&lt;br /&gt;3117 勘 BFB1 52D8 E58B98   3118 坎 BFB2 574E E59D8E&lt;br /&gt;3119 砍 BFB3 780D E7A08D   3120 看 BFB4 770B E79C8B&lt;br /&gt;3121 康 BFB5 5EB7 E5BAB7   3122 慷 BFB6 6177 E685B7&lt;br /&gt;3123 糠 BFB7 7CE0 E7B3A0   3124 扛 BFB8 625B E6899B&lt;br /&gt;3125 抗 BFB9 6297 E68A97   3126 亢 BFBA 4EA2 E4BAA2&lt;br /&gt;3127 炕 BFBB 7095 E78295   3128 考 BFBC 8003 E88083&lt;br /&gt;3129 拷 BFBD 62F7 E68BB7   3130 烤 BFBE 70E4 E783A4&lt;br /&gt;3131 靠 BFBF 9760 E99DA0   3132 坷 BFC0 5777 E59DB7&lt;br /&gt;3133 苛 BFC1 82DB E88B9B   3134 柯 BFC2 67EF E69FAF&lt;br /&gt;3135 棵 BFC3 68F5 E6A3B5   3136 磕 BFC4 78D5 E7A395&lt;br /&gt;3137 颗 BFC5 9897 E9A297   3138 科 BFC6 79D1 E7A791&lt;br /&gt;3139 壳 BFC7 58F3 E5A3B3   3140 咳 BFC8 54B3 E592B3&lt;br /&gt;3141 可 BFC9 53EF E58FAF   3142 渴 BFCA 6E34 E6B8B4&lt;br /&gt;3143 克 BFCB 514B E5858B   3144 刻 BFCC 523B E588BB&lt;br /&gt;3145 客 BFCD 5BA2 E5AEA2   3146 课 BFCE 8BFE E8AFBE&lt;br /&gt;3147 肯 BFCF 80AF E882AF   3148 啃 BFD0 5543 E59583&lt;br /&gt;3149 垦 BFD1 57A6 E59EA6   3150 恳 BFD2 6073 E681B3&lt;br /&gt;3151 坑 BFD3 5751 E59D91   3152 吭 BFD4 542D E590AD&lt;br /&gt;3153 空 BFD5 7A7A E7A9BA   3154 恐 BFD6 6050 E68190&lt;br /&gt;3155 孔 BFD7 5B54 E5AD94   3156 控 BFD8 63A7 E68EA7&lt;br /&gt;3157 抠 BFD9 62A0 E68AA0   3158 口 BFDA 53E3 E58FA3&lt;br /&gt;3159 扣 BFDB 6263 E689A3   3160 寇 BFDC 5BC7 E5AF87&lt;br /&gt;3161 枯 BFDD 67AF E69EAF   3162 哭 BFDE 54ED E593AD&lt;br /&gt;3163 窟 BFDF 7A9F E7AA9F   3164 苦 BFE0 82E6 E88BA6&lt;br /&gt;3165 酷 BFE1 9177 E985B7   3166 库 BFE2 5E93 E5BA93&lt;br /&gt;3167 裤 BFE3 88E4 E8A3A4   3168 夸 BFE4 5938 E5A4B8&lt;br /&gt;3169 垮 BFE5 57AE E59EAE   3170 挎 BFE6 630E E68C8E&lt;br /&gt;3171 跨 BFE7 8DE8 E8B7A8   3172 胯 BFE8 80EF E883AF&lt;br /&gt;3173 块 BFE9 5757 E59D97   3174 筷 BFEA 7B77 E7ADB7&lt;br /&gt;3175 侩 BFEB 4FA9 E4BEA9   3176 快 BFEC 5FEB E5BFAB&lt;br /&gt;3177 宽 BFED 5BBD E5AEBD   3178 款 BFEE 6B3E E6ACBE&lt;br /&gt;3179 匡 BFEF 5321 E58CA1   3180 筐 BFF0 7B50 E7AD90&lt;br /&gt;3181 狂 BFF1 72C2 E78B82   3182 框 BFF2 6846 E6A186&lt;br /&gt;3183 矿 BFF3 77FF E79FBF   3184 眶 BFF4 7736 E79CB6&lt;br /&gt;3185 旷 BFF5 65F7 E697B7   3186 况 BFF6 51B5 E586B5&lt;br /&gt;3187 亏 BFF7 4E8F E4BA8F   3188 盔 BFF8 76D4 E79B94&lt;br /&gt;3189 岿 BFF9 5CBF E5B2BF   3190 窥 BFFA 7AA5 E7AAA5&lt;br /&gt;3191 葵 BFFB 8475 E891B5   3192 奎 BFFC 594E E5A58E&lt;br /&gt;3193 魁 BFFD 9B41 E9AD81   3194 傀 BFFE 5080 E58280&lt;br /&gt;3201 馈 C0A1 9988 E9A688   3202 愧 C0A2 6127 E684A7&lt;br /&gt;3203 溃 C0A3 6E83 E6BA83   3204 坤 C0A4 5764 E59DA4&lt;br /&gt;3205 昆 C0A5 6606 E69886   3206 捆 C0A6 6346 E68D86&lt;br /&gt;3207 困 C0A7 56F0 E59BB0   3208 括 C0A8 62EC E68BAC&lt;br /&gt;3209 扩 C0A9 6269 E689A9   3210 廓 C0AA 5ED3 E5BB93&lt;br /&gt;3211 阔 C0AB 9614 E99894   3212 垃 C0AC 5783 E59E83&lt;br /&gt;3213 拉 C0AD 62C9 E68B89   3214 喇 C0AE 5587 E59687&lt;br /&gt;3215 蜡 C0AF 8721 E89CA1   3216 腊 C0B0 814A E8858A&lt;br /&gt;3217 辣 C0B1 8FA3 E8BEA3   3218 啦 C0B2 5566 E595A6&lt;br /&gt;3219 莱 C0B3 83B1 E88EB1   3220 来 C0B4 6765 E69DA5&lt;br /&gt;3221 赖 C0B5 8D56 E8B596   3222 蓝 C0B6 84DD E8939D&lt;br /&gt;3223 婪 C0B7 5A6A E5A9AA   3224 栏 C0B8 680F E6A08F&lt;br /&gt;3225 拦 C0B9 62E6 E68BA6   3226 篮 C0BA 7BEE E7AFAE&lt;br /&gt;3227 阑 C0BB 9611 E99891   3228 兰 C0BC 5170 E585B0&lt;br /&gt;3229 澜 C0BD 6F9C E6BE9C   3230 谰 C0BE 8C30 E8B0B0&lt;br /&gt;3231 揽 C0BF 63FD E68FBD   3232 览 C0C0 89C8 E8A788&lt;br /&gt;3233 懒 C0C1 61D2 E68792   3234 缆 C0C2 7F06 E7BC86&lt;br /&gt;3235 烂 C0C3 70C2 E78382   3236 滥 C0C4 6EE5 E6BBA5&lt;br /&gt;3237 琅 C0C5 7405 E79085   3238 榔 C0C6 6994 E6A694&lt;br /&gt;3239 狼 C0C7 72FC E78BBC   3240 廊 C0C8 5ECA E5BB8A&lt;br /&gt;3241 郎 C0C9 90CE E9838E   3242 朗 C0CA 6717 E69C97&lt;br /&gt;3243 浪 C0CB 6D6A E6B5AA   3244 捞 C0CC 635E E68D9E&lt;br /&gt;3245 劳 C0CD 52B3 E58AB3   3246 牢 C0CE 7262 E789A2&lt;br /&gt;3247 老 C0CF 8001 E88081   3248 佬 C0D0 4F6C E4BDAC&lt;br /&gt;3249 姥 C0D1 59E5 E5A7A5   3250 酪 C0D2 916A E985AA&lt;br /&gt;3251 烙 C0D3 70D9 E78399   3252 涝 C0D4 6D9D E6B69D&lt;br /&gt;3253 勒 C0D5 52D2 E58B92   3254 乐 C0D6 4E50 E4B990&lt;br /&gt;3255 雷 C0D7 96F7 E99BB7   3256 镭 C0D8 956D E995AD&lt;br /&gt;3257 蕾 C0D9 857E E895BE   3258 磊 C0DA 78CA E7A38A&lt;br /&gt;3259 累 C0DB 7D2F E7B4AF   3260 儡 C0DC 5121 E584A1&lt;br /&gt;3261 垒 C0DD 5792 E59E92   3262 擂 C0DE 64C2 E69382&lt;br /&gt;3263 肋 C0DF 808B E8828B   3264 类 C0E0 7C7B E7B1BB&lt;br /&gt;3265 泪 C0E1 6CEA E6B3AA   3266 棱 C0E2 68F1 E6A3B1&lt;br /&gt;3267 楞 C0E3 695E E6A59E   3268 冷 C0E4 51B7 E586B7&lt;br /&gt;3269 厘 C0E5 5398 E58E98   3270 梨 C0E6 68A8 E6A2A8&lt;br /&gt;3271 犁 C0E7 7281 E78A81   3272 黎 C0E8 9ECE E9BB8E&lt;br /&gt;3273 篱 C0E9 7BF1 E7AFB1   3274 狸 C0EA 72F8 E78BB8&lt;br /&gt;3275 离 C0EB 79BB E7A6BB   3276 漓 C0EC 6F13 E6BC93&lt;br /&gt;3277 理 C0ED 7406 E79086   3278 李 C0EE 674E E69D8E&lt;br /&gt;3279 里 C0EF 91CC E9878C   3280 鲤 C0F0 9CA4 E9B2A4&lt;br /&gt;3281 礼 C0F1 793C E7A4BC   3282 莉 C0F2 8389 E88E89&lt;br /&gt;3283 荔 C0F3 8354 E88D94   3284 吏 C0F4 540F E5908F&lt;br /&gt;3285 栗 C0F5 6817 E6A097   3286 丽 C0F6 4E3D E4B8BD&lt;br /&gt;3287 厉 C0F7 5389 E58E89   3288 励 C0F8 52B1 E58AB1&lt;br /&gt;3289 砾 C0F9 783E E7A0BE   3290 历 C0FA 5386 E58E86&lt;br /&gt;3291 利 C0FB 5229 E588A9   3292 傈 C0FC 5088 E58288&lt;br /&gt;3293 例 C0FD 4F8B E4BE8B   3294 俐 C0FE 4FD0 E4BF90&lt;br /&gt;3301 痢 C1A1 75E2 E797A2   3302 立 C1A2 7ACB E7AB8B&lt;br /&gt;3303 粒 C1A3 7C92 E7B292   3304 沥 C1A4 6CA5 E6B2A5&lt;br /&gt;3305 隶 C1A5 96B6 E99AB6   3306 力 C1A6 529B E58A9B&lt;br /&gt;3307 璃 C1A7 7483 E79283   3308 哩 C1A8 54E9 E593A9&lt;br /&gt;3309 俩 C1A9 4FE9 E4BFA9   3310 联 C1AA 8054 E88194&lt;br /&gt;3311 莲 C1AB 83B2 E88EB2   3312 连 C1AC 8FDE E8BF9E&lt;br /&gt;3313 镰 C1AD 9570 E995B0   3314 廉 C1AE 5EC9 E5BB89&lt;br /&gt;3315 怜 C1AF 601C E6809C   3316 涟 C1B0 6D9F E6B69F&lt;br /&gt;3317 帘 C1B1 5E18 E5B898   3318 敛 C1B2 655B E6959B&lt;br /&gt;3319 脸 C1B3 8138 E884B8   3320 链 C1B4 94FE E993BE&lt;br /&gt;3321 恋 C1B5 604B E6818B   3322 炼 C1B6 70BC E782BC&lt;br /&gt;3323 练 C1B7 7EC3 E7BB83   3324 粮 C1B8 7CAE E7B2AE&lt;br /&gt;3325 凉 C1B9 51C9 E58789   3326 梁 C1BA 6881 E6A281&lt;br /&gt;3327 粱 C1BB 7CB1 E7B2B1   3328 良 C1BC 826F E889AF&lt;br /&gt;3329 两 C1BD 4E24 E4B8A4   3330 辆 C1BE 8F86 E8BE86&lt;br /&gt;3331 量 C1BF 91CF E9878F   3332 晾 C1C0 667E E699BE&lt;br /&gt;3333 亮 C1C1 4EAE E4BAAE   3334 谅 C1C2 8C05 E8B085&lt;br /&gt;3335 撩 C1C3 64A9 E692A9   3336 聊 C1C4 804A E8818A&lt;br /&gt;3337 僚 C1C5 50DA E5839A   3338 疗 C1C6 7597 E79697&lt;br /&gt;3339 燎 C1C7 71CE E7878E   3340 寥 C1C8 5BE5 E5AFA5&lt;br /&gt;3341 辽 C1C9 8FBD E8BEBD   3342 潦 C1CA 6F66 E6BDA6&lt;br /&gt;3343 了 C1CB 4E86 E4BA86   3344 撂 C1CC 6482 E69282&lt;br /&gt;3345 镣 C1CD 9563 E995A3   3346 廖 C1CE 5ED6 E5BB96&lt;br /&gt;3347 料 C1CF 6599 E69699   3348 列 C1D0 5217 E58897&lt;br /&gt;3349 裂 C1D1 88C2 E8A382   3350 烈 C1D2 70C8 E78388&lt;br /&gt;3351 劣 C1D3 52A3 E58AA3   3352 猎 C1D4 730E E78C8E&lt;br /&gt;3353 琳 C1D5 7433 E790B3   3354 林 C1D6 6797 E69E97&lt;br /&gt;3355 磷 C1D7 78F7 E7A3B7   3356 霖 C1D8 9716 E99C96&lt;br /&gt;3357 临 C1D9 4E34 E4B8B4   3358 邻 C1DA 90BB E982BB&lt;br /&gt;3359 鳞 C1DB 9CDE E9B39E   3360 淋 C1DC 6DCB E6B78B&lt;br /&gt;3361 凛 C1DD 51DB E5879B   3362 赁 C1DE 8D41 E8B581&lt;br /&gt;3363 吝 C1DF 541D E5909D   3364 拎 C1E0 62CE E68B8E&lt;br /&gt;3365 玲 C1E1 73B2 E78EB2   3366 菱 C1E2 83F1 E88FB1&lt;br /&gt;3367 零 C1E3 96F6 E99BB6   3368 龄 C1E4 9F84 E9BE84&lt;br /&gt;3369 铃 C1E5 94C3 E99383   3370 伶 C1E6 4F36 E4BCB6&lt;br /&gt;3371 羚 C1E7 7F9A E7BE9A   3372 凌 C1E8 51CC E5878C&lt;br /&gt;3373 灵 C1E9 7075 E781B5   3374 陵 C1EA 9675 E999B5&lt;br /&gt;3375 岭 C1EB 5CAD E5B2AD   3376 领 C1EC 9886 E9A286&lt;br /&gt;3377 另 C1ED 53E6 E58FA6   3378 令 C1EE 4EE4 E4BBA4&lt;br /&gt;3379 溜 C1EF 6E9C E6BA9C   3380 琉 C1F0 7409 E79089&lt;br /&gt;3381 榴 C1F1 69B4 E6A6B4   3382 硫 C1F2 786B E7A1AB&lt;br /&gt;3383 馏 C1F3 998F E9A68F   3384 留 C1F4 7559 E79599&lt;br /&gt;3385 刘 C1F5 5218 E58898   3386 瘤 C1F6 7624 E798A4&lt;br /&gt;3387 流 C1F7 6D41 E6B581   3388 柳 C1F8 67F3 E69FB3&lt;br /&gt;3389 六 C1F9 516D E585AD   3390 龙 C1FA 9F99 E9BE99&lt;br /&gt;3391 聋 C1FB 804B E8818B   3392 咙 C1FC 5499 E59299&lt;br /&gt;3393 笼 C1FD 7B3C E7ACBC   3394 窿 C1FE 7ABF E7AABF&lt;br /&gt;3401 隆 C2A1 9686 E99A86   3402 垄 C2A2 5784 E59E84&lt;br /&gt;3403 拢 C2A3 62E2 E68BA2   3404 陇 C2A4 9647 E99987&lt;br /&gt;3405 楼 C2A5 697C E6A5BC   3406 娄 C2A6 5A04 E5A884&lt;br /&gt;3407 搂 C2A7 6402 E69082   3408 篓 C2A8 7BD3 E7AF93&lt;br /&gt;3409 漏 C2A9 6F0F E6BC8F   3410 陋 C2AA 964B E9998B&lt;br /&gt;3411 芦 C2AB 82A6 E88AA6   3412 卢 C2AC 5362 E58DA2&lt;br /&gt;3413 颅 C2AD 9885 E9A285   3414 庐 C2AE 5E90 E5BA90&lt;br /&gt;3415 炉 C2AF 7089 E78289   3416 掳 C2B0 63B3 E68EB3&lt;br /&gt;3417 卤 C2B1 5364 E58DA4   3418 虏 C2B2 864F E8998F&lt;br /&gt;3419 鲁 C2B3 9C81 E9B281   3420 麓 C2B4 9E93 E9BA93&lt;br /&gt;3421 碌 C2B5 788C E7A28C   3422 露 C2B6 9732 E99CB2&lt;br /&gt;3423 路 C2B7 8DEF E8B7AF   3424 赂 C2B8 8D42 E8B582&lt;br /&gt;3425 鹿 C2B9 9E7F E9B9BF   3426 潞 C2BA 6F5E E6BD9E&lt;br /&gt;3427 禄 C2BB 7984 E7A684   3428 录 C2BC 5F55 E5BD95&lt;br /&gt;3429 陆 C2BD 9646 E99986   3430 戮 C2BE 622E E688AE&lt;br /&gt;3431 驴 C2BF 9A74 E9A9B4   3432 吕 C2C0 5415 E59095&lt;br /&gt;3433 铝 C2C1 94DD E9939D   3434 侣 C2C2 4FA3 E4BEA3&lt;br /&gt;3435 旅 C2C3 65C5 E69785   3436 履 C2C4 5C65 E5B1A5&lt;br /&gt;3437 屡 C2C5 5C61 E5B1A1   3438 缕 C2C6 7F15 E7BC95&lt;br /&gt;3439 虑 C2C7 8651 E89991   3440 氯 C2C8 6C2F E6B0AF&lt;br /&gt;3441 律 C2C9 5F8B E5BE8B   3442 率 C2CA 7387 E78E87&lt;br /&gt;3443 滤 C2CB 6EE4 E6BBA4   3444 绿 C2CC 7EFF E7BBBF&lt;br /&gt;3445 峦 C2CD 5CE6 E5B3A6   3446 挛 C2CE 631B E68C9B&lt;br /&gt;3447 孪 C2CF 5B6A E5ADAA   3448 滦 C2D0 6EE6 E6BBA6&lt;br /&gt;3449 卵 C2D1 5375 E58DB5   3450 乱 C2D2 4E71 E4B9B1&lt;br /&gt;3451 掠 C2D3 63A0 E68EA0   3452 略 C2D4 7565 E795A5&lt;br /&gt;3453 抡 C2D5 62A1 E68AA1   3454 轮 C2D6 8F6E E8BDAE&lt;br /&gt;3455 伦 C2D7 4F26 E4BCA6   3456 仑 C2D8 4ED1 E4BB91&lt;br /&gt;3457 沦 C2D9 6CA6 E6B2A6   3458 纶 C2DA 7EB6 E7BAB6&lt;br /&gt;3459 论 C2DB 8BBA E8AEBA   3460 萝 C2DC 841D E8909D&lt;br /&gt;3461 螺 C2DD 87BA E89EBA   3462 罗 C2DE 7F57 E7BD97&lt;br /&gt;3463 逻 C2DF 903B E980BB   3464 锣 C2E0 9523 E994A3&lt;br /&gt;3465 箩 C2E1 7BA9 E7AEA9   3466 骡 C2E2 9AA1 E9AAA1&lt;br /&gt;3467 裸 C2E3 88F8 E8A3B8   3468 落 C2E4 843D E890BD&lt;br /&gt;3469 洛 C2E5 6D1B E6B49B   3470 骆 C2E6 9A86 E9AA86&lt;br /&gt;3471 络 C2E7 7EDC E7BB9C   3472 妈 C2E8 5988 E5A688&lt;br /&gt;3473 麻 C2E9 9EBB E9BABB   3474 玛 C2EA 739B E78E9B&lt;br /&gt;3475 码 C2EB 7801 E7A081   3476 蚂 C2EC 8682 E89A82&lt;br /&gt;3477 马 C2ED 9A6C E9A9AC   3478 骂 C2EE 9A82 E9AA82&lt;br /&gt;3479 嘛 C2EF 561B E5989B   3480 吗 C2F0 5417 E59097&lt;br /&gt;3481 埋 C2F1 57CB E59F8B   3482 买 C2F2 4E70 E4B9B0&lt;br /&gt;3483 麦 C2F3 9EA6 E9BAA6   3484 卖 C2F4 5356 E58D96&lt;br /&gt;3485 迈 C2F5 8FC8 E8BF88   3486 脉 C2F6 8109 E88489&lt;br /&gt;3487 瞒 C2F7 7792 E79E92   3488 馒 C2F8 9992 E9A692&lt;br /&gt;3489 蛮 C2F9 86EE E89BAE   3490 满 C2FA 6EE1 E6BBA1&lt;br /&gt;3491 蔓 C2FB 8513 E89493   3492 曼 C2FC 66FC E69BBC&lt;br /&gt;3493 慢 C2FD 6162 E685A2   3494 漫 C2FE 6F2B E6BCAB&lt;br /&gt;3501 谩 C3A1 8C29 E8B0A9   3502 芒 C3A2 8292 E88A92&lt;br /&gt;3503 茫 C3A3 832B E88CAB   3504 盲 C3A4 76F2 E79BB2&lt;br /&gt;3505 氓 C3A5 6C13 E6B093   3506 忙 C3A6 5FD9 E5BF99&lt;br /&gt;3507 莽 C3A7 83BD E88EBD   3508 猫 C3A8 732B E78CAB&lt;br /&gt;3509 茅 C3A9 8305 E88C85   3510 锚 C3AA 951A E9949A&lt;br /&gt;3511 毛 C3AB 6BDB E6AF9B   3512 矛 C3AC 77DB E79F9B&lt;br /&gt;3513 铆 C3AD 94C6 E99386   3514 卯 C3AE 536F E58DAF&lt;br /&gt;3515 茂 C3AF 8302 E88C82   3516 冒 C3B0 5192 E58692&lt;br /&gt;3517 帽 C3B1 5E3D E5B8BD   3518 貌 C3B2 8C8C E8B28C&lt;br /&gt;3519 贸 C3B3 8D38 E8B4B8   3520 么 C3B4 4E48 E4B988&lt;br /&gt;3521 玫 C3B5 73AB E78EAB   3522 枚 C3B6 679A E69E9A&lt;br /&gt;3523 梅 C3B7 6885 E6A285   3524 酶 C3B8 9176 E985B6&lt;br /&gt;3525 霉 C3B9 9709 E99C89   3526 煤 C3BA 7164 E785A4&lt;br /&gt;3527 没 C3BB 6CA1 E6B2A1   3528 眉 C3BC 7709 E79C89&lt;br /&gt;3529 媒 C3BD 5A92 E5AA92   3530 镁 C3BE 9541 E99581&lt;br /&gt;3531 每 C3BF 6BCF E6AF8F   3532 美 C3C0 7F8E E7BE8E&lt;br /&gt;3533 昧 C3C1 6627 E698A7   3534 寐 C3C2 5BD0 E5AF90&lt;br /&gt;3535 妹 C3C3 59B9 E5A6B9   3536 媚 C3C4 5A9A E5AA9A&lt;br /&gt;3537 门 C3C5 95E8 E997A8   3538 闷 C3C6 95F7 E997B7&lt;br /&gt;3539 们 C3C7 4EEC E4BBAC   3540 萌 C3C8 840C E8908C&lt;br /&gt;3541 蒙 C3C9 8499 E89299   3542 檬 C3CA 6AAC E6AAAC&lt;br /&gt;3543 盟 C3CB 76DF E79B9F   3544 锰 C3CC 9530 E994B0&lt;br /&gt;3545 猛 C3CD 731B E78C9B   3546 梦 C3CE 68A6 E6A2A6&lt;br /&gt;3547 孟 C3CF 5B5F E5AD9F   3548 眯 C3D0 772F E79CAF&lt;br /&gt;3549 醚 C3D1 919A E9869A   3550 靡 C3D2 9761 E99DA1&lt;br /&gt;3551 糜 C3D3 7CDC E7B39C   3552 迷 C3D4 8FF7 E8BFB7&lt;br /&gt;3553 谜 C3D5 8C1C E8B09C   3554 弥 C3D6 5F25 E5BCA5&lt;br /&gt;3555 米 C3D7 7C73 E7B1B3   3556 秘 C3D8 79D8 E7A798&lt;br /&gt;3557 觅 C3D9 89C5 E8A785   3558 泌 C3DA 6CCC E6B38C&lt;br /&gt;3559 蜜 C3DB 871C E89C9C   3560 密 C3DC 5BC6 E5AF86&lt;br /&gt;3561 幂 C3DD 5E42 E5B982   3562 棉 C3DE 68C9 E6A389&lt;br /&gt;3563 眠 C3DF 7720 E79CA0   3564 绵 C3E0 7EF5 E7BBB5&lt;br /&gt;3565 冕 C3E1 5195 E58695   3566 免 C3E2 514D E5858D&lt;br /&gt;3567 勉 C3E3 52C9 E58B89   3568 娩 C3E4 5A29 E5A8A9&lt;br /&gt;3569 缅 C3E5 7F05 E7BC85   3570 面 C3E6 9762 E99DA2&lt;br /&gt;3571 苗 C3E7 82D7 E88B97   3572 描 C3E8 63CF E68F8F&lt;br /&gt;3573 瞄 C3E9 7784 E79E84   3574 藐 C3EA 85D0 E89790&lt;br /&gt;3575 秒 C3EB 79D2 E7A792   3576 渺 C3EC 6E3A E6B8BA&lt;br /&gt;3577 庙 C3ED 5E99 E5BA99   3578 妙 C3EE 5999 E5A699&lt;br /&gt;3579 蔑 C3EF 8511 E89491   3580 灭 C3F0 706D E781AD&lt;br /&gt;3581 民 C3F1 6C11 E6B091   3582 抿 C3F2 62BF E68ABF&lt;br /&gt;3583 皿 C3F3 76BF E79ABF   3584 敏 C3F4 654F E6958F&lt;br /&gt;3585 悯 C3F5 60AF E682AF   3586 闽 C3F6 95FD E997BD&lt;br /&gt;3587 明 C3F7 660E E6988E   3588 螟 C3F8 879F E89E9F&lt;br /&gt;3589 鸣 C3F9 9E23 E9B8A3   3590 铭 C3FA 94ED E993AD&lt;br /&gt;3591 名 C3FB 540D E5908D   3592 命 C3FC 547D E591BD&lt;br /&gt;3593 谬 C3FD 8C2C E8B0AC   3594 摸 C3FE 6478 E691B8&lt;br /&gt;3601 摹 C4A1 6479 E691B9   3602 蘑 C4A2 8611 E89891&lt;br /&gt;3603 模 C4A3 6A21 E6A8A1   3604 膜 C4A4 819C E8869C&lt;br /&gt;3605 磨 C4A5 78E8 E7A3A8   3606 摩 C4A6 6469 E691A9&lt;br /&gt;3607 魔 C4A7 9B54 E9AD94   3608 抹 C4A8 62B9 E68AB9&lt;br /&gt;3609 末 C4A9 672B E69CAB   3610 莫 C4AA 83AB E88EAB&lt;br /&gt;3611 墨 C4AB 58A8 E5A2A8   3612 默 C4AC 9ED8 E9BB98&lt;br /&gt;3613 沫 C4AD 6CAB E6B2AB   3614 漠 C4AE 6F20 E6BCA0&lt;br /&gt;3615 寞 C4AF 5BDE E5AF9E   3616 陌 C4B0 964C E9998C&lt;br /&gt;3617 谋 C4B1 8C0B E8B08B   3618 牟 C4B2 725F E7899F&lt;br /&gt;3619 某 C4B3 67D0 E69F90   3620 拇 C4B4 62C7 E68B87&lt;br /&gt;3621 牡 C4B5 7261 E789A1   3622 亩 C4B6 4EA9 E4BAA9&lt;br /&gt;3623 姆 C4B7 59C6 E5A786   3624 母 C4B8 6BCD E6AF8D&lt;br /&gt;3625 墓 C4B9 5893 E5A293   3626 暮 C4BA 66AE E69AAE&lt;br /&gt;3627 幕 C4BB 5E55 E5B995   3628 募 C4BC 52DF E58B9F&lt;br /&gt;3629 慕 C4BD 6155 E68595   3630 木 C4BE 6728 E69CA8&lt;br /&gt;3631 目 C4BF 76EE E79BAE   3632 睦 C4C0 7766 E79DA6&lt;br /&gt;3633 牧 C4C1 7267 E789A7   3634 穆 C4C2 7A46 E7A986&lt;br /&gt;3635 拿 C4C3 62FF E68BBF   3636 哪 C4C4 54EA E593AA&lt;br /&gt;3637 呐 C4C5 5450 E59190   3638 钠 C4C6 94A0 E992A0&lt;br /&gt;3639 那 C4C7 90A3 E982A3   3640 娜 C4C8 5A1C E5A89C&lt;br /&gt;3641 纳 C4C9 7EB3 E7BAB3   3642 氖 C4CA 6C16 E6B096&lt;br /&gt;3643 乃 C4CB 4E43 E4B983   3644 奶 C4CC 5976 E5A5B6&lt;br /&gt;3645 耐 C4CD 8010 E88090   3646 奈 C4CE 5948 E5A588&lt;br /&gt;3647 南 C4CF 5357 E58D97   3648 男 C4D0 7537 E794B7&lt;br /&gt;3649 难 C4D1 96BE E99ABE   3650 囊 C4D2 56CA E59B8A&lt;br /&gt;3651 挠 C4D3 6320 E68CA0   3652 脑 C4D4 8111 E88491&lt;br /&gt;3653 恼 C4D5 607C E681BC   3654 闹 C4D6 95F9 E997B9&lt;br /&gt;3655 淖 C4D7 6DD6 E6B796   3656 呢 C4D8 5462 E591A2&lt;br /&gt;3657 馁 C4D9 9981 E9A681   3658 内 C4DA 5185 E58685&lt;br /&gt;3659 嫩 C4DB 5AE9 E5ABA9   3660 能 C4DC 80FD E883BD&lt;br /&gt;3661 妮 C4DD 59AE E5A6AE   3662 霓 C4DE 9713 E99C93&lt;br /&gt;3663 倪 C4DF 502A E580AA   3664 泥 C4E0 6CE5 E6B3A5&lt;br /&gt;3665 尼 C4E1 5C3C E5B0BC   3666 拟 C4E2 62DF E68B9F&lt;br /&gt;3667 你 C4E3 4F60 E4BDA0   3668 匿 C4E4 533F E58CBF&lt;br /&gt;3669 腻 C4E5 817B E885BB   3670 逆 C4E6 9006 E98086&lt;br /&gt;3671 溺 C4E7 6EBA E6BABA   3672 蔫 C4E8 852B E894AB&lt;br /&gt;3673 拈 C4E9 62C8 E68B88   3674 年 C4EA 5E74 E5B9B4&lt;br /&gt;3675 碾 C4EB 78BE E7A2BE   3676 撵 C4EC 64B5 E692B5&lt;br /&gt;3677 捻 C4ED 637B E68DBB   3678 念 C4EE 5FF5 E5BFB5&lt;br /&gt;3679 娘 C4EF 5A18 E5A898   3680 酿 C4F0 917F E985BF&lt;br /&gt;3681 鸟 C4F1 9E1F E9B89F   3682 尿 C4F2 5C3F E5B0BF&lt;br /&gt;3683 捏 C4F3 634F E68D8F   3684 聂 C4F4 8042 E88182&lt;br /&gt;3685 孽 C4F5 5B7D E5ADBD   3686 啮 C4F6 556E E595AE&lt;br /&gt;3687 镊 C4F7 954A E9958A   3688 镍 C4F8 954D E9958D&lt;br /&gt;3689 涅 C4F9 6D85 E6B685   3690 您 C4FA 60A8 E682A8&lt;br /&gt;3691 柠 C4FB 67E0 E69FA0   3692 狞 C4FC 72DE E78B9E&lt;br /&gt;3693 凝 C4FD 51DD E5879D   3694 宁 C4FE 5B81 E5AE81&lt;br /&gt;3701 拧 C5A1 62E7 E68BA7   3702 泞 C5A2 6CDE E6B39E&lt;br /&gt;3703 牛 C5A3 725B E7899B   3704 扭 C5A4 626D E689AD&lt;br /&gt;3705 钮 C5A5 94AE E992AE   3706 纽 C5A6 7EBD E7BABD&lt;br /&gt;3707 脓 C5A7 8113 E88493   3708 浓 C5A8 6D53 E6B593&lt;br /&gt;3709 农 C5A9 519C E5869C   3710 弄 C5AA 5F04 E5BC84&lt;br /&gt;3711 奴 C5AB 5974 E5A5B4   3712 努 C5AC 52AA E58AAA&lt;br /&gt;3713 怒 C5AD 6012 E68092   3714 女 C5AE 5973 E5A5B3&lt;br /&gt;3715 暖 C5AF 6696 E69A96   3716 虐 C5B0 8650 E89990&lt;br /&gt;3717 疟 C5B1 759F E7969F   3718 挪 C5B2 632A E68CAA&lt;br /&gt;3719 懦 C5B3 61E6 E687A6   3720 糯 C5B4 7CEF E7B3AF&lt;br /&gt;3721 诺 C5B5 8BFA E8AFBA   3722 哦 C5B6 54E6 E593A6&lt;br /&gt;3723 欧 C5B7 6B27 E6ACA7   3724 鸥 C5B8 9E25 E9B8A5&lt;br /&gt;3725 殴 C5B9 6BB4 E6AEB4   3726 藕 C5BA 85D5 E89795&lt;br /&gt;3727 呕 C5BB 5455 E59195   3728 偶 C5BC 5076 E581B6&lt;br /&gt;3729 沤 C5BD 6CA4 E6B2A4   3730 啪 C5BE 556A E595AA&lt;br /&gt;3731 趴 C5BF 8DB4 E8B6B4   3732 爬 C5C0 722C E788AC&lt;br /&gt;3733 帕 C5C1 5E15 E5B895   3734 怕 C5C2 6015 E68095&lt;br /&gt;3735 琶 C5C3 7436 E790B6   3736 拍 C5C4 62CD E68B8D&lt;br /&gt;3737 排 C5C5 6392 E68E92   3738 牌 C5C6 724C E7898C&lt;br /&gt;3739 徘 C5C7 5F98 E5BE98   3740 湃 C5C8 6E43 E6B983&lt;br /&gt;3741 派 C5C9 6D3E E6B4BE   3742 攀 C5CA 6500 E69480&lt;br /&gt;3743 潘 C5CB 6F58 E6BD98   3744 盘 C5CC 76D8 E79B98&lt;br /&gt;3745 磐 C5CD 78D0 E7A390   3746 盼 C5CE 76FC E79BBC&lt;br /&gt;3747 畔 C5CF 7554 E79594   3748 判 C5D0 5224 E588A4&lt;br /&gt;3749 叛 C5D1 53DB E58F9B   3750 乓 C5D2 4E53 E4B993&lt;br /&gt;3751 庞 C5D3 5E9E E5BA9E   3752 旁 C5D4 65C1 E69781&lt;br /&gt;3753 耪 C5D5 802A E880AA   3754 胖 C5D6 80D6 E88396&lt;br /&gt;3755 抛 C5D7 629B E68A9B   3756 咆 C5D8 5486 E59286&lt;br /&gt;3757 刨 C5D9 5228 E588A8   3758 炮 C5DA 70AE E782AE&lt;br /&gt;3759 袍 C5DB 888D E8A28D   3760 跑 C5DC 8DD1 E8B791&lt;br /&gt;3761 泡 C5DD 6CE1 E6B3A1   3762 呸 C5DE 5478 E591B8&lt;br /&gt;3763 胚 C5DF 80DA E8839A   3764 培 C5E0 57F9 E59FB9&lt;br /&gt;3765 裴 C5E1 88F4 E8A3B4   3766 赔 C5E2 8D54 E8B594&lt;br /&gt;3767 陪 C5E3 966A E999AA   3768 配 C5E4 914D E9858D&lt;br /&gt;3769 佩 C5E5 4F69 E4BDA9   3770 沛 C5E6 6C9B E6B29B&lt;br /&gt;3771 喷 C5E7 55B7 E596B7   3772 盆 C5E8 76C6 E79B86&lt;br /&gt;3773 砰 C5E9 7830 E7A0B0   3774 抨 C5EA 62A8 E68AA8&lt;br /&gt;3775 烹 C5EB 70F9 E783B9   3776 澎 C5EC 6F8E E6BE8E&lt;br /&gt;3777 彭 C5ED 5F6D E5BDAD   3778 蓬 C5EE 84EC E893AC&lt;br /&gt;3779 棚 C5EF 68DA E6A39A   3780 硼 C5F0 787C E7A1BC&lt;br /&gt;3781 篷 C5F1 7BF7 E7AFB7   3782 膨 C5F2 81A8 E886A8&lt;br /&gt;3783 朋 C5F3 670B E69C8B   3784 鹏 C5F4 9E4F E9B98F&lt;br /&gt;3785 捧 C5F5 6367 E68DA7   3786 碰 C5F6 78B0 E7A2B0&lt;br /&gt;3787 坯 C5F7 576F E59DAF   3788 砒 C5F8 7812 E7A092&lt;br /&gt;3789 霹 C5F9 9739 E99CB9   3790 批 C5FA 6279 E689B9&lt;br /&gt;3791 披 C5FB 62AB E68AAB   3792 劈 C5FC 5288 E58A88&lt;br /&gt;3793 琵 C5FD 7435 E790B5   3794 毗 C5FE 6BD7 E6AF97&lt;br /&gt;3801 啤 C6A1 5564 E595A4   3802 脾 C6A2 813E E884BE&lt;br /&gt;3803 疲 C6A3 75B2 E796B2   3804 皮 C6A4 76AE E79AAE&lt;br /&gt;3805 匹 C6A5 5339 E58CB9   3806 痞 C6A6 75DE E7979E&lt;br /&gt;3807 僻 C6A7 50FB E583BB   3808 屁 C6A8 5C41 E5B181&lt;br /&gt;3809 譬 C6A9 8B6C E8ADAC   3810 篇 C6AA 7BC7 E7AF87&lt;br /&gt;3811 偏 C6AB 504F E5818F   3812 片 C6AC 7247 E78987&lt;br /&gt;3813 骗 C6AD 9A97 E9AA97   3814 飘 C6AE 98D8 E9A398&lt;br /&gt;3815 漂 C6AF 6F02 E6BC82   3816 瓢 C6B0 74E2 E793A2&lt;br /&gt;3817 票 C6B1 7968 E7A5A8   3818 撇 C6B2 6487 E69287&lt;br /&gt;3819 瞥 C6B3 77A5 E79EA5   3820 拼 C6B4 62FC E68BBC&lt;br /&gt;3821 频 C6B5 9891 E9A291   3822 贫 C6B6 8D2B E8B4AB&lt;br /&gt;3823 品 C6B7 54C1 E59381   3824 聘 C6B8 8058 E88198&lt;br /&gt;3825 乒 C6B9 4E52 E4B992   3826 坪 C6BA 576A E59DAA&lt;br /&gt;3827 苹 C6BB 82F9 E88BB9   3828 萍 C6BC 840D E8908D&lt;br /&gt;3829 平 C6BD 5E73 E5B9B3   3830 凭 C6BE 51ED E587AD&lt;br /&gt;3831 瓶 C6BF 74F6 E793B6   3832 评 C6C0 8BC4 E8AF84&lt;br /&gt;3833 屏 C6C1 5C4F E5B18F   3834 坡 C6C2 5761 E59DA1&lt;br /&gt;3835 泼 C6C3 6CFC E6B3BC   3836 颇 C6C4 9887 E9A287&lt;br /&gt;3837 婆 C6C5 5A46 E5A986   3838 破 C6C6 7834 E7A0B4&lt;br /&gt;3839 魄 C6C7 9B44 E9AD84   3840 迫 C6C8 8FEB E8BFAB&lt;br /&gt;3841 粕 C6C9 7C95 E7B295   3842 剖 C6CA 5256 E58996&lt;br /&gt;3843 扑 C6CB 6251 E68991   3844 铺 C6CC 94FA E993BA&lt;br /&gt;3845 仆 C6CD 4EC6 E4BB86   3846 莆 C6CE 8386 E88E86&lt;br /&gt;3847 葡 C6CF 8461 E891A1   3848 菩 C6D0 83E9 E88FA9&lt;br /&gt;3849 蒲 C6D1 84B2 E892B2   3850 埔 C6D2 57D4 E59F94&lt;br /&gt;3851 朴 C6D3 6734 E69CB4   3852 圃 C6D4 5703 E59C83&lt;br /&gt;3853 普 C6D5 666E E699AE   3854 浦 C6D6 6D66 E6B5A6&lt;br /&gt;3855 谱 C6D7 8C31 E8B0B1   3856 曝 C6D8 66DD E69B9D&lt;br /&gt;3857 瀑 C6D9 7011 E78091   3858 期 C6DA 671F E69C9F&lt;br /&gt;3859 欺 C6DB 6B3A E6ACBA   3860 栖 C6DC 6816 E6A096&lt;br /&gt;3861 戚 C6DD 621A E6889A   3862 妻 C6DE 59BB E5A6BB&lt;br /&gt;3863 七 C6DF 4E03 E4B883   3864 凄 C6E0 51C4 E58784&lt;br /&gt;3865 漆 C6E1 6F06 E6BC86   3866 柒 C6E2 67D2 E69F92&lt;br /&gt;3867 沏 C6E3 6C8F E6B28F   3868 其 C6E4 5176 E585B6&lt;br /&gt;3869 棋 C6E5 68CB E6A38B   3870 奇 C6E6 5947 E5A587&lt;br /&gt;3871 歧 C6E7 6B67 E6ADA7   3872 畦 C6E8 7566 E795A6&lt;br /&gt;3873 崎 C6E9 5D0E E5B48E   3874 脐 C6EA 8110 E88490&lt;br /&gt;3875 齐 C6EB 9F50 E9BD90   3876 旗 C6EC 65D7 E69797&lt;br /&gt;3877 祈 C6ED 7948 E7A588   3878 祁 C6EE 7941 E7A581&lt;br /&gt;3879 骑 C6EF 9A91 E9AA91   3880 起 C6F0 8D77 E8B5B7&lt;br /&gt;3881 岂 C6F1 5C82 E5B282   3882 乞 C6F2 4E5E E4B99E&lt;br /&gt;3883 企 C6F3 4F01 E4BC81   3884 启 C6F4 542F E590AF&lt;br /&gt;3885 契 C6F5 5951 E5A591   3886 砌 C6F6 780C E7A08C&lt;br /&gt;3887 器 C6F7 5668 E599A8   3888 气 C6F8 6C14 E6B094&lt;br /&gt;3889 迄 C6F9 8FC4 E8BF84   3890 弃 C6FA 5F03 E5BC83&lt;br /&gt;3891 汽 C6FB 6C7D E6B1BD   3892 泣 C6FC 6CE3 E6B3A3&lt;br /&gt;3893 讫 C6FD 8BAB E8AEAB   3894 掐 C6FE 6390 E68E90&lt;br /&gt;3901 恰 C7A1 6070 E681B0   3902 洽 C7A2 6D3D E6B4BD&lt;br /&gt;3903 牵 C7A3 7275 E789B5   3904 扦 C7A4 6266 E689A6&lt;br /&gt;3905 钎 C7A5 948E E9928E   3906 铅 C7A6 94C5 E99385&lt;br /&gt;3907 千 C7A7 5343 E58D83   3908 迁 C7A8 8FC1 E8BF81&lt;br /&gt;3909 签 C7A9 7B7E E7ADBE   3910 仟 C7AA 4EDF E4BB9F&lt;br /&gt;3911 谦 C7AB 8C26 E8B0A6   3912 乾 C7AC 4E7E E4B9BE&lt;br /&gt;3913 黔 C7AD 9ED4 E9BB94   3914 钱 C7AE 94B1 E992B1&lt;br /&gt;3915 钳 C7AF 94B3 E992B3   3916 前 C7B0 524D E5898D&lt;br /&gt;3917 潜 C7B1 6F5C E6BD9C   3918 遣 C7B2 9063 E981A3&lt;br /&gt;3919 浅 C7B3 6D45 E6B585   3920 谴 C7B4 8C34 E8B0B4&lt;br /&gt;3921 堑 C7B5 5811 E5A091   3922 嵌 C7B6 5D4C E5B58C&lt;br /&gt;3923 欠 C7B7 6B20 E6ACA0   3924 歉 C7B8 6B49 E6AD89&lt;br /&gt;3925 枪 C7B9 67AA E69EAA   3926 呛 C7BA 545B E5919B&lt;br /&gt;3927 腔 C7BB 8154 E88594   3928 羌 C7BC 7F8C E7BE8C&lt;br /&gt;3929 墙 C7BD 5899 E5A299   3930 蔷 C7BE 8537 E894B7&lt;br /&gt;3931 强 C7BF 5F3A E5BCBA   3932 抢 C7C0 62A2 E68AA2&lt;br /&gt;3933 橇 C7C1 6A47 E6A987   3934 锹 C7C2 9539 E994B9&lt;br /&gt;3935 敲 C7C3 6572 E695B2   3936 悄 C7C4 6084 E68284&lt;br /&gt;3937 桥 C7C5 6865 E6A1A5   3938 瞧 C7C6 77A7 E79EA7&lt;br /&gt;3939 乔 C7C7 4E54 E4B994   3940 侨 C7C8 4FA8 E4BEA8&lt;br /&gt;3941 巧 C7C9 5DE7 E5B7A7   3942 鞘 C7CA 9798 E99E98&lt;br /&gt;3943 撬 C7CB 64AC E692AC   3944 翘 C7CC 7FD8 E7BF98&lt;br /&gt;3945 峭 C7CD 5CED E5B3AD   3946 俏 C7CE 4FCF E4BF8F&lt;br /&gt;3947 窍 C7CF 7A8D E7AA8D   3948 切 C7D0 5207 E58887&lt;br /&gt;3949 茄 C7D1 8304 E88C84   3950 且 C7D2 4E14 E4B894&lt;br /&gt;3951 怯 C7D3 602F E680AF   3952 窃 C7D4 7A83 E7AA83&lt;br /&gt;3953 钦 C7D5 94A6 E992A6   3954 侵 C7D6 4FB5 E4BEB5&lt;br /&gt;3955 亲 C7D7 4EB2 E4BAB2   3956 秦 C7D8 79E6 E7A7A6&lt;br /&gt;3957 琴 C7D9 7434 E790B4   3958 勤 C7DA 52E4 E58BA4&lt;br /&gt;3959 芹 C7DB 82B9 E88AB9   3960 擒 C7DC 64D2 E69392&lt;br /&gt;3961 禽 C7DD 79BD E7A6BD   3962 寝 C7DE 5BDD E5AF9D&lt;br /&gt;3963 沁 C7DF 6C81 E6B281   3964 青 C7E0 9752 E99D92&lt;br /&gt;3965 轻 C7E1 8F7B E8BDBB   3966 氢 C7E2 6C22 E6B0A2&lt;br /&gt;3967 倾 C7E3 503E E580BE   3968 卿 C7E4 537F E58DBF&lt;br /&gt;3969 清 C7E5 6E05 E6B885   3970 擎 C7E6 64CE E6938E&lt;br /&gt;3971 晴 C7E7 6674 E699B4   3972 氰 C7E8 6C30 E6B0B0&lt;br /&gt;3973 情 C7E9 60C5 E68385   3974 顷 C7EA 9877 E9A1B7&lt;br /&gt;3975 请 C7EB 8BF7 E8AFB7   3976 庆 C7EC 5E86 E5BA86&lt;br /&gt;3977 琼 C7ED 743C E790BC   3978 穷 C7EE 7A77 E7A9B7&lt;br /&gt;3979 秋 C7EF 79CB E7A78B   3980 丘 C7F0 4E18 E4B898&lt;br /&gt;3981 邱 C7F1 90B1 E982B1   3982 球 C7F2 7403 E79083&lt;br /&gt;3983 求 C7F3 6C42 E6B182   3984 囚 C7F4 56DA E59B9A&lt;br /&gt;3985 酋 C7F5 914B E9858B   3986 泅 C7F6 6CC5 E6B385&lt;br /&gt;3987 趋 C7F7 8D8B E8B68B   3988 区 C7F8 533A E58CBA&lt;br /&gt;3989 蛆 C7F9 86C6 E89B86   3990 曲 C7FA 66F2 E69BB2&lt;br /&gt;3991 躯 C7FB 8EAF E8BAAF   3992 屈 C7FC 5C48 E5B188&lt;br /&gt;3993 驱 C7FD 9A71 E9A9B1   3994 渠 C7FE 6E20 E6B8A0&lt;br /&gt;4001 取 C8A1 53D6 E58F96   4002 娶 C8A2 5A36 E5A8B6&lt;br /&gt;4003 龋 C8A3 9F8B E9BE8B   4004 趣 C8A4 8DA3 E8B6A3&lt;br /&gt;4005 去 C8A5 53BB E58EBB   4006 圈 C8A6 5708 E59C88&lt;br /&gt;4007 颧 C8A7 98A7 E9A2A7   4008 权 C8A8 6743 E69D83&lt;br /&gt;4009 醛 C8A9 919B E9869B   4010 泉 C8AA 6CC9 E6B389&lt;br /&gt;4011 全 C8AB 5168 E585A8   4012 痊 C8AC 75CA E7978A&lt;br /&gt;4013 拳 C8AD 62F3 E68BB3   4014 犬 C8AE 72AC E78AAC&lt;br /&gt;4015 券 C8AF 5238 E588B8   4016 劝 C8B0 529D E58A9D&lt;br /&gt;4017 缺 C8B1 7F3A E7BCBA   4018 炔 C8B2 7094 E78294&lt;br /&gt;4019 瘸 C8B3 7638 E798B8   4020 却 C8B4 5374 E58DB4&lt;br /&gt;4021 鹊 C8B5 9E4A E9B98A   4022 榷 C8B6 69B7 E6A6B7&lt;br /&gt;4023 确 C8B7 786E E7A1AE   4024 雀 C8B8 96C0 E99B80&lt;br /&gt;4025 裙 C8B9 88D9 E8A399   4026 群 C8BA 7FA4 E7BEA4&lt;br /&gt;4027 然 C8BB 7136 E784B6   4028 燃 C8BC 71C3 E78783&lt;br /&gt;4029 冉 C8BD 5189 E58689   4030 染 C8BE 67D3 E69F93&lt;br /&gt;4031 瓤 C8BF 74E4 E793A4   4032 壤 C8C0 58E4 E5A3A4&lt;br /&gt;4033 攘 C8C1 6518 E69498   4034 嚷 C8C2 56B7 E59AB7&lt;br /&gt;4035 让 C8C3 8BA9 E8AEA9   4036 饶 C8C4 9976 E9A5B6&lt;br /&gt;4037 扰 C8C5 6270 E689B0   4038 绕 C8C6 7ED5 E7BB95&lt;br /&gt;4039 惹 C8C7 60F9 E683B9   4040 热 C8C8 70ED E783AD&lt;br /&gt;4041 壬 C8C9 58EC E5A3AC   4042 仁 C8CA 4EC1 E4BB81&lt;br /&gt;4043 人 C8CB 4EBA E4BABA   4044 忍 C8CC 5FCD E5BF8D&lt;br /&gt;4045 韧 C8CD 97E7 E99FA7   4046 任 C8CE 4EFB E4BBBB&lt;br /&gt;4047 认 C8CF 8BA4 E8AEA4   4048 刃 C8D0 5203 E58883&lt;br /&gt;4049 妊 C8D1 598A E5A68A   4050 纫 C8D2 7EAB E7BAAB&lt;br /&gt;4051 扔 C8D3 6254 E68994   4052 仍 C8D4 4ECD E4BB8D&lt;br /&gt;4053 日 C8D5 65E5 E697A5   4054 戎 C8D6 620E E6888E&lt;br /&gt;4055 茸 C8D7 8338 E88CB8   4056 蓉 C8D8 84C9 E89389&lt;br /&gt;4057 荣 C8D9 8363 E88DA3   4058 融 C8DA 878D E89E8D&lt;br /&gt;4059 熔 C8DB 7194 E78694   4060 溶 C8DC 6EB6 E6BAB6&lt;br /&gt;4061 容 C8DD 5BB9 E5AEB9   4062 绒 C8DE 7ED2 E7BB92&lt;br /&gt;4063 冗 C8DF 5197 E58697   4064 揉 C8E0 63C9 E68F89&lt;br /&gt;4065 柔 C8E1 67D4 E69F94   4066 肉 C8E2 8089 E88289&lt;br /&gt;4067 茹 C8E3 8339 E88CB9   4068 蠕 C8E4 8815 E8A095&lt;br /&gt;4069 儒 C8E5 5112 E58492   4070 孺 C8E6 5B7A E5ADBA&lt;br /&gt;4071 如 C8E7 5982 E5A682   4072 辱 C8E8 8FB1 E8BEB1&lt;br /&gt;4073 乳 C8E9 4E73 E4B9B3   4074 汝 C8EA 6C5D E6B19D&lt;br /&gt;4075 入 C8EB 5165 E585A5   4076 褥 C8EC 8925 E8A4A5&lt;br /&gt;4077 软 C8ED 8F6F E8BDAF   4078 阮 C8EE 962E E998AE&lt;br /&gt;4079 蕊 C8EF 854A E8958A   4080 瑞 C8F0 745E E7919E&lt;br /&gt;4081 锐 C8F1 9510 E99490   4082 闰 C8F2 95F0 E997B0&lt;br /&gt;4083 润 C8F3 6DA6 E6B6A6   4084 若 C8F4 82E5 E88BA5&lt;br /&gt;4085 弱 C8F5 5F31 E5BCB1   4086 撒 C8F6 6492 E69292&lt;br /&gt;4087 洒 C8F7 6D12 E6B492   4088 萨 C8F8 8428 E890A8&lt;br /&gt;4089 腮 C8F9 816E E885AE   4090 鳃 C8FA 9CC3 E9B383&lt;br /&gt;4091 塞 C8FB 585E E5A19E   4092 赛 C8FC 8D5B E8B59B&lt;br /&gt;4093 三 C8FD 4E09 E4B889   4094 叁 C8FE 53C1 E58F81&lt;br /&gt;4101 伞 C9A1 4F1E E4BC9E   4102 散 C9A2 6563 E695A3&lt;br /&gt;4103 桑 C9A3 6851 E6A191   4104 嗓 C9A4 55D3 E59793&lt;br /&gt;4105 丧 C9A5 4E27 E4B8A7   4106 搔 C9A6 6414 E69094&lt;br /&gt;4107 骚 C9A7 9A9A E9AA9A   4108 扫 C9A8 626B E689AB&lt;br /&gt;4109 嫂 C9A9 5AC2 E5AB82   4110 瑟 C9AA 745F E7919F&lt;br /&gt;4111 色 C9AB 8272 E889B2   4112 涩 C9AC 6DA9 E6B6A9&lt;br /&gt;4113 森 C9AD 68EE E6A3AE   4114 僧 C9AE 50E7 E583A7&lt;br /&gt;4115 莎 C9AF 838E E88E8E   4116 砂 C9B0 7802 E7A082&lt;br /&gt;4117 杀 C9B1 6740 E69D80   4118 刹 C9B2 5239 E588B9&lt;br /&gt;4119 沙 C9B3 6C99 E6B299   4120 纱 C9B4 7EB1 E7BAB1&lt;br /&gt;4121 傻 C9B5 50BB E582BB   4122 啥 C9B6 5565 E595A5&lt;br /&gt;4123 煞 C9B7 715E E7859E   4124 筛 C9B8 7B5B E7AD9B&lt;br /&gt;4125 晒 C9B9 6652 E69992   4126 珊 C9BA 73CA E78F8A&lt;br /&gt;4127 苫 C9BB 82EB E88BAB   4128 杉 C9BC 6749 E69D89&lt;br /&gt;4129 山 C9BD 5C71 E5B1B1   4130 删 C9BE 5220 E588A0&lt;br /&gt;4131 煽 C9BF 717D E785BD   4132 衫 C9C0 886B E8A1AB&lt;br /&gt;4133 闪 C9C1 95EA E997AA   4134 陕 C9C2 9655 E99995&lt;br /&gt;4135 擅 C9C3 64C5 E69385   4136 赡 C9C4 8D61 E8B5A1&lt;br /&gt;4137 膳 C9C5 81B3 E886B3   4138 善 C9C6 5584 E59684&lt;br /&gt;4139 汕 C9C7 6C55 E6B195   4140 扇 C9C8 6247 E68987&lt;br /&gt;4141 缮 C9C9 7F2E E7BCAE   4142 墒 C9CA 5892 E5A292&lt;br /&gt;4143 伤 C9CB 4F24 E4BCA4   4144 商 C9CC 5546 E59586&lt;br /&gt;4145 赏 C9CD 8D4F E8B58F   4146 晌 C9CE 664C E6998C&lt;br /&gt;4147 上 C9CF 4E0A E4B88A   4148 尚 C9D0 5C1A E5B09A&lt;br /&gt;4149 裳 C9D1 88F3 E8A3B3   4150 梢 C9D2 68A2 E6A2A2&lt;br /&gt;4151 捎 C9D3 634E E68D8E   4152 稍 C9D4 7A0D E7A88D&lt;br /&gt;4153 烧 C9D5 70E7 E783A7   4154 芍 C9D6 828D E88A8D&lt;br /&gt;4155 勺 C9D7 52FA E58BBA   4156 韶 C9D8 97F6 E99FB6&lt;br /&gt;4157 少 C9D9 5C11 E5B091   4158 哨 C9DA 54E8 E593A8&lt;br /&gt;4159 邵 C9DB 90B5 E982B5   4160 绍 C9DC 7ECD E7BB8D&lt;br /&gt;4161 奢 C9DD 5962 E5A5A2   4162 赊 C9DE 8D4A E8B58A&lt;br /&gt;4163 蛇 C9DF 86C7 E89B87   4164 舌 C9E0 820C E8888C&lt;br /&gt;4165 舍 C9E1 820D E8888D   4166 赦 C9E2 8D66 E8B5A6&lt;br /&gt;4167 摄 C9E3 6444 E69184   4168 射 C9E4 5C04 E5B084&lt;br /&gt;4169 慑 C9E5 6151 E68591   4170 涉 C9E6 6D89 E6B689&lt;br /&gt;4171 社 C9E7 793E E7A4BE   4172 设 C9E8 8BBE E8AEBE&lt;br /&gt;4173 砷 C9E9 7837 E7A0B7   4174 申 C9EA 7533 E794B3&lt;br /&gt;4175 呻 C9EB 547B E591BB   4176 伸 C9EC 4F38 E4BCB8&lt;br /&gt;4177 身 C9ED 8EAB E8BAAB   4178 深 C9EE 6DF1 E6B7B1&lt;br /&gt;4179 娠 C9EF 5A20 E5A8A0   4180 绅 C9F0 7EC5 E7BB85&lt;br /&gt;4181 神 C9F1 795E E7A59E   4182 沈 C9F2 6C88 E6B288&lt;br /&gt;4183 审 C9F3 5BA1 E5AEA1   4184 婶 C9F4 5A76 E5A9B6&lt;br /&gt;4185 甚 C9F5 751A E7949A   4186 肾 C9F6 80BE E882BE&lt;br /&gt;4187 慎 C9F7 614E E6858E   4188 渗 C9F8 6E17 E6B897&lt;br /&gt;4189 声 C9F9 58F0 E5A3B0   4190 生 C9FA 751F E7949F&lt;br /&gt;4191 甥 C9FB 7525 E794A5   4192 牲 C9FC 7272 E789B2&lt;br /&gt;4193 升 C9FD 5347 E58D87   4194 绳 C9FE 7EF3 E7BBB3&lt;br /&gt;4201 省 CAA1 7701 E79C81   4202 盛 CAA2 76DB E79B9B&lt;br /&gt;4203 剩 CAA3 5269 E589A9   4204 胜 CAA4 80DC E8839C&lt;br /&gt;4205 圣 CAA5 5723 E59CA3   4206 师 CAA6 5E08 E5B888&lt;br /&gt;4207 失 CAA7 5931 E5A4B1   4208 狮 CAA8 72EE E78BAE&lt;br /&gt;4209 施 CAA9 65BD E696BD   4210 湿 CAAA 6E7F E6B9BF&lt;br /&gt;4211 诗 CAAB 8BD7 E8AF97   4212 尸 CAAC 5C38 E5B0B8&lt;br /&gt;4213 虱 CAAD 8671 E899B1   4214 十 CAAE 5341 E58D81&lt;br /&gt;4215 石 CAAF 77F3 E79FB3   4216 拾 CAB0 62FE E68BBE&lt;br /&gt;4217 时 CAB1 65F6 E697B6   4218 什 CAB2 4EC0 E4BB80&lt;br /&gt;4219 食 CAB3 98DF E9A39F   4220 蚀 CAB4 8680 E89A80&lt;br /&gt;4221 实 CAB5 5B9E E5AE9E   4222 识 CAB6 8BC6 E8AF86&lt;br /&gt;4223 史 CAB7 53F2 E58FB2   4224 矢 CAB8 77E2 E79FA2&lt;br /&gt;4225 使 CAB9 4F7F E4BDBF   4226 屎 CABA 5C4E E5B18E&lt;br /&gt;4227 驶 CABB 9A76 E9A9B6   4228 始 CABC 59CB E5A78B&lt;br /&gt;4229 式 CABD 5F0F E5BC8F   4230 示 CABE 793A E7A4BA&lt;br /&gt;4231 士 CABF 58EB E5A3AB   4232 世 CAC0 4E16 E4B896&lt;br /&gt;4233 柿 CAC1 67FF E69FBF   4234 事 CAC2 4E8B E4BA8B&lt;br /&gt;4235 拭 CAC3 62ED E68BAD   4236 誓 CAC4 8A93 E8AA93&lt;br /&gt;4237 逝 CAC5 901D E9809D   4238 势 CAC6 52BF E58ABF&lt;br /&gt;4239 是 CAC7 662F E698AF   4240 嗜 CAC8 55DC E5979C&lt;br /&gt;4241 噬 CAC9 566C E599AC   4242 适 CACA 9002 E98082&lt;br /&gt;4243 仕 CACB 4ED5 E4BB95   4244 侍 CACC 4F8D E4BE8D&lt;br /&gt;4245 释 CACD 91CA E9878A   4246 饰 CACE 9970 E9A5B0&lt;br /&gt;4247 氏 CACF 6C0F E6B08F   4248 市 CAD0 5E02 E5B882&lt;br /&gt;4249 恃 CAD1 6043 E68183   4250 室 CAD2 5BA4 E5AEA4&lt;br /&gt;4251 视 CAD3 89C6 E8A786   4252 试 CAD4 8BD5 E8AF95&lt;br /&gt;4253 收 CAD5 6536 E694B6   4254 手 CAD6 624B E6898B&lt;br /&gt;4255 首 CAD7 9996 E9A696   4256 守 CAD8 5B88 E5AE88&lt;br /&gt;4257 寿 CAD9 5BFF E5AFBF   4258 授 CADA 6388 E68E88&lt;br /&gt;4259 售 CADB 552E E594AE   4260 受 CADC 53D7 E58F97&lt;br /&gt;4261 瘦 CADD 7626 E798A6   4262 兽 CADE 517D E585BD&lt;br /&gt;4263 蔬 CADF 852C E894AC   4264 枢 CAE0 67A2 E69EA2&lt;br /&gt;4265 梳 CAE1 68B3 E6A2B3   4266 殊 CAE2 6B8A E6AE8A&lt;br /&gt;4267 抒 CAE3 6292 E68A92   4268 输 CAE4 8F93 E8BE93&lt;br /&gt;4269 叔 CAE5 53D4 E58F94   4270 舒 CAE6 8212 E88892&lt;br /&gt;4271 淑 CAE7 6DD1 E6B791   4272 疏 CAE8 758F E7968F&lt;br /&gt;4273 书 CAE9 4E66 E4B9A6   4274 赎 CAEA 8D4E E8B58E&lt;br /&gt;4275 孰 CAEB 5B70 E5ADB0   4276 熟 CAEC 719F E7869F&lt;br /&gt;4277 薯 CAED 85AF E896AF   4278 暑 CAEE 6691 E69A91&lt;br /&gt;4279 曙 CAEF 66D9 E69B99   4280 署 CAF0 7F72 E7BDB2&lt;br /&gt;4281 蜀 CAF1 8700 E89C80   4282 黍 CAF2 9ECD E9BB8D&lt;br /&gt;4283 鼠 CAF3 9F20 E9BCA0   4284 属 CAF4 5C5E E5B19E&lt;br /&gt;4285 术 CAF5 672F E69CAF   4286 述 CAF6 8FF0 E8BFB0&lt;br /&gt;4287 树 CAF7 6811 E6A091   4288 束 CAF8 675F E69D9F&lt;br /&gt;4289 戍 CAF9 620D E6888D   4290 竖 CAFA 7AD6 E7AB96&lt;br /&gt;4291 墅 CAFB 5885 E5A285   4292 庶 CAFC 5EB6 E5BAB6&lt;br /&gt;4293 数 CAFD 6570 E695B0   4294 漱 CAFE 6F31 E6BCB1&lt;br /&gt;4301 恕 CBA1 6055 E68195   4302 刷 CBA2 5237 E588B7&lt;br /&gt;4303 耍 CBA3 800D E8808D   4304 摔 CBA4 6454 E69194&lt;br /&gt;4305 衰 CBA5 8870 E8A1B0   4306 甩 CBA6 7529 E794A9&lt;br /&gt;4307 帅 CBA7 5E05 E5B885   4308 栓 CBA8 6813 E6A093&lt;br /&gt;4309 拴 CBA9 62F4 E68BB4   4310 霜 CBAA 971C E99C9C&lt;br /&gt;4311 双 CBAB 53CC E58F8C   4312 爽 CBAC 723D E788BD&lt;br /&gt;4313 谁 CBAD 8C01 E8B081   4314 水 CBAE 6C34 E6B0B4&lt;br /&gt;4315 睡 CBAF 7761 E79DA1   4316 税 CBB0 7A0E E7A88E&lt;br /&gt;4317 吮 CBB1 542E E590AE   4318 瞬 CBB2 77AC E79EAC&lt;br /&gt;4319 顺 CBB3 987A E9A1BA   4320 舜 CBB4 821C E8889C&lt;br /&gt;4321 说 CBB5 8BF4 E8AFB4   4322 硕 CBB6 7855 E7A195&lt;br /&gt;4323 朔 CBB7 6714 E69C94   4324 烁 CBB8 70C1 E78381&lt;br /&gt;4325 斯 CBB9 65AF E696AF   4326 撕 CBBA 6495 E69295&lt;br /&gt;4327 嘶 CBBB 5636 E598B6   4328 思 CBBC 601D E6809D&lt;br /&gt;4329 私 CBBD 79C1 E7A781   4330 司 CBBE 53F8 E58FB8&lt;br /&gt;4331 丝 CBBF 4E1D E4B89D   4332 死 CBC0 6B7B E6ADBB&lt;br /&gt;4333 肆 CBC1 8086 E88286   4334 寺 CBC2 5BFA E5AFBA&lt;br /&gt;4335 嗣 CBC3 55E3 E597A3   4336 四 CBC4 56DB E59B9B&lt;br /&gt;4337 伺 CBC5 4F3A E4BCBA   4338 似 CBC6 4F3C E4BCBC&lt;br /&gt;4339 饲 CBC7 9972 E9A5B2   4340 巳 CBC8 5DF3 E5B7B3&lt;br /&gt;4341 松 CBC9 677E E69DBE   4342 耸 CBCA 8038 E880B8&lt;br /&gt;4343 怂 CBCB 6002 E68082   4344 颂 CBCC 9882 E9A282&lt;br /&gt;4345 送 CBCD 9001 E98081   4346 宋 CBCE 5B8B E5AE8B&lt;br /&gt;4347 讼 CBCF 8BBC E8AEBC   4348 诵 CBD0 8BF5 E8AFB5&lt;br /&gt;4349 搜 CBD1 641C E6909C   4350 艘 CBD2 8258 E88998&lt;br /&gt;4351 擞 CBD3 64DE E6939E   4352 嗽 CBD4 55FD E597BD&lt;br /&gt;4353 苏 CBD5 82CF E88B8F   4354 酥 CBD6 9165 E985A5&lt;br /&gt;4355 俗 CBD7 4FD7 E4BF97   4356 素 CBD8 7D20 E7B4A0&lt;br /&gt;4357 速 CBD9 901F E9809F   4358 粟 CBDA 7C9F E7B29F&lt;br /&gt;4359 僳 CBDB 50F3 E583B3   4360 塑 CBDC 5851 E5A191&lt;br /&gt;4361 溯 CBDD 6EAF E6BAAF   4362 宿 CBDE 5BBF E5AEBF&lt;br /&gt;4363 诉 CBDF 8BC9 E8AF89   4364 肃 CBE0 8083 E88283&lt;br /&gt;4365 酸 CBE1 9178 E985B8   4366 蒜 CBE2 849C E8929C&lt;br /&gt;4367 算 CBE3 7B97 E7AE97   4368 虽 CBE4 867D E899BD&lt;br /&gt;4369 隋 CBE5 968B E99A8B   4370 随 CBE6 968F E99A8F&lt;br /&gt;4371 绥 CBE7 7EE5 E7BBA5   4372 髓 CBE8 9AD3 E9AB93&lt;br /&gt;4373 碎 CBE9 788E E7A28E   4374 岁 CBEA 5C81 E5B281&lt;br /&gt;4375 穗 CBEB 7A57 E7A997   4376 遂 CBEC 9042 E98182&lt;br /&gt;4377 隧 CBED 96A7 E99AA7   4378 祟 CBEE 795F E7A59F&lt;br /&gt;4379 孙 CBEF 5B59 E5AD99   4380 损 CBF0 635F E68D9F&lt;br /&gt;4381 笋 CBF1 7B0B E7AC8B   4382 蓑 CBF2 84D1 E89391&lt;br /&gt;4383 梭 CBF3 68AD E6A2AD   4384 唆 CBF4 5506 E59486&lt;br /&gt;4385 缩 CBF5 7F29 E7BCA9   4386 琐 CBF6 7410 E79090&lt;br /&gt;4387 索 CBF7 7D22 E7B4A2   4388 锁 CBF8 9501 E99481&lt;br /&gt;4389 所 CBF9 6240 E68980   4390 塌 CBFA 584C E5A18C&lt;br /&gt;4391 他 CBFB 4ED6 E4BB96   4392 它 CBFC 5B83 E5AE83&lt;br /&gt;4393 她 CBFD 5979 E5A5B9   4394 塔 CBFE 5854 E5A194&lt;br /&gt;4401 獭 CCA1 736D E78DAD   4402 挞 CCA2 631E E68C9E&lt;br /&gt;4403 蹋 CCA3 8E4B E8B98B   4404 踏 CCA4 8E0F E8B88F&lt;br /&gt;4405 胎 CCA5 80CE E8838E   4406 苔 CCA6 82D4 E88B94&lt;br /&gt;4407 抬 CCA7 62AC E68AAC   4408 台 CCA8 53F0 E58FB0&lt;br /&gt;4409 泰 CCA9 6CF0 E6B3B0   4410 酞 CCAA 915E E9859E&lt;br /&gt;4411 太 CCAB 592A E5A4AA   4412 态 CCAC 6001 E68081&lt;br /&gt;4413 汰 CCAD 6C70 E6B1B0   4414 坍 CCAE 574D E59D8D&lt;br /&gt;4415 摊 CCAF 644A E6918A   4416 贪 CCB0 8D2A E8B4AA&lt;br /&gt;4417 瘫 CCB1 762B E798AB   4418 滩 CCB2 6EE9 E6BBA9&lt;br /&gt;4419 坛 CCB3 575B E59D9B   4420 檀 CCB4 6A80 E6AA80&lt;br /&gt;4421 痰 CCB5 75F0 E797B0   4422 潭 CCB6 6F6D E6BDAD&lt;br /&gt;4423 谭 CCB7 8C2D E8B0AD   4424 谈 CCB8 8C08 E8B088&lt;br /&gt;4425 坦 CCB9 5766 E59DA6   4426 毯 CCBA 6BEF E6AFAF&lt;br /&gt;4427 袒 CCBB 8892 E8A292   4428 碳 CCBC 78B3 E7A2B3&lt;br /&gt;4429 探 CCBD 63A2 E68EA2   4430 叹 CCBE 53F9 E58FB9&lt;br /&gt;4431 炭 CCBF 70AD E782AD   4432 汤 CCC0 6C64 E6B1A4&lt;br /&gt;4433 塘 CCC1 5858 E5A198   4434 搪 CCC2 642A E690AA&lt;br /&gt;4435 堂 CCC3 5802 E5A082   4436 棠 CCC4 68E0 E6A3A0&lt;br /&gt;4437 膛 CCC5 819B E8869B   4438 唐 CCC6 5510 E59490&lt;br /&gt;4439 糖 CCC7 7CD6 E7B396   4440 倘 CCC8 5018 E58098&lt;br /&gt;4441 躺 CCC9 8EBA E8BABA   4442 淌 CCCA 6DCC E6B78C&lt;br /&gt;4443 趟 CCCB 8D9F E8B69F   4444 烫 CCCC 70EB E783AB&lt;br /&gt;4445 掏 CCCD 638F E68E8F   4446 涛 CCCE 6D9B E6B69B&lt;br /&gt;4447 滔 CCCF 6ED4 E6BB94   4448 绦 CCD0 7EE6 E7BBA6&lt;br /&gt;4449 萄 CCD1 8404 E89084   4450 桃 CCD2 6843 E6A183&lt;br /&gt;4451 逃 CCD3 9003 E98083   4452 淘 CCD4 6DD8 E6B798&lt;br /&gt;4453 陶 CCD5 9676 E999B6   4454 讨 CCD6 8BA8 E8AEA8&lt;br /&gt;4455 套 CCD7 5957 E5A597   4456 特 CCD8 7279 E789B9&lt;br /&gt;4457 藤 CCD9 85E4 E897A4   4458 腾 CCDA 817E E885BE&lt;br /&gt;4459 疼 CCDB 75BC E796BC   4460 誊 CCDC 8A8A E8AA8A&lt;br /&gt;4461 梯 CCDD 68AF E6A2AF   4462 剔 CCDE 5254 E58994&lt;br /&gt;4463 踢 CCDF 8E22 E8B8A2   4464 锑 CCE0 9511 E99491&lt;br /&gt;4465 提 CCE1 63D0 E68F90   4466 题 CCE2 9898 E9A298&lt;br /&gt;4467 蹄 CCE3 8E44 E8B984   4468 啼 CCE4 557C E595BC&lt;br /&gt;4469 体 CCE5 4F53 E4BD93   4470 替 CCE6 66FF E69BBF&lt;br /&gt;4471 嚏 CCE7 568F E59A8F   4472 惕 CCE8 60D5 E68395&lt;br /&gt;4473 涕 CCE9 6D95 E6B695   4474 剃 CCEA 5243 E58983&lt;br /&gt;4475 屉 CCEB 5C49 E5B189   4476 天 CCEC 5929 E5A4A9&lt;br /&gt;4477 添 CCED 6DFB E6B7BB   4478 填 CCEE 586B E5A1AB&lt;br /&gt;4479 田 CCEF 7530 E794B0   4480 甜 CCF0 751C E7949C&lt;br /&gt;4481 恬 CCF1 606C E681AC   4482 舔 CCF2 8214 E88894&lt;br /&gt;4483 腆 CCF3 8146 E88586   4484 挑 CCF4 6311 E68C91&lt;br /&gt;4485 条 CCF5 6761 E69DA1   4486 迢 CCF6 8FE2 E8BFA2&lt;br /&gt;4487 眺 CCF7 773A E79CBA   4488 跳 CCF8 8DF3 E8B7B3&lt;br /&gt;4489 贴 CCF9 8D34 E8B4B4   4490 铁 CCFA 94C1 E99381&lt;br /&gt;4491 帖 CCFB 5E16 E5B896   4492 厅 CCFC 5385 E58E85&lt;br /&gt;4493 听 CCFD 542C E590AC   4494 烃 CCFE 70C3 E78383&lt;br /&gt;4501 汀 CDA1 6C40 E6B180   4502 廷 CDA2 5EF7 E5BBB7&lt;br /&gt;4503 停 CDA3 505C E5819C   4504 亭 CDA4 4EAD E4BAAD&lt;br /&gt;4505 庭 CDA5 5EAD E5BAAD   4506 挺 CDA6 633A E68CBA&lt;br /&gt;4507 艇 CDA7 8247 E88987   4508 通 CDA8 901A E9809A&lt;br /&gt;4509 桐 CDA9 6850 E6A190   4510 酮 CDAA 916E E985AE&lt;br /&gt;4511 瞳 CDAB 77B3 E79EB3   4512 同 CDAC 540C E5908C&lt;br /&gt;4513 铜 CDAD 94DC E9939C   4514 彤 CDAE 5F64 E5BDA4&lt;br /&gt;4515 童 CDAF 7AE5 E7ABA5   4516 桶 CDB0 6876 E6A1B6&lt;br /&gt;4517 捅 CDB1 6345 E68D85   4518 筒 CDB2 7B52 E7AD92&lt;br /&gt;4519 统 CDB3 7EDF E7BB9F   4520 痛 CDB4 75DB E7979B&lt;br /&gt;4521 偷 CDB5 5077 E581B7   4522 投 CDB6 6295 E68A95&lt;br /&gt;4523 头 CDB7 5934 E5A4B4   4524 透 CDB8 900F E9808F&lt;br /&gt;4525 凸 CDB9 51F8 E587B8   4526 秃 CDBA 79C3 E7A783&lt;br /&gt;4527 突 CDBB 7A81 E7AA81   4528 图 CDBC 56FE E59BBE&lt;br /&gt;4529 徒 CDBD 5F92 E5BE92   4530 途 CDBE 9014 E98094&lt;br /&gt;4531 涂 CDBF 6D82 E6B682   4532 屠 CDC0 5C60 E5B1A0&lt;br /&gt;4533 土 CDC1 571F E59C9F   4534 吐 CDC2 5410 E59090&lt;br /&gt;4535 兔 CDC3 5154 E58594   4536 湍 CDC4 6E4D E6B98D&lt;br /&gt;4537 团 CDC5 56E2 E59BA2   4538 推 CDC6 63A8 E68EA8&lt;br /&gt;4539 颓 CDC7 9893 E9A293   4540 腿 CDC8 817F E885BF&lt;br /&gt;4541 蜕 CDC9 8715 E89C95   4542 褪 CDCA 892A E8A4AA&lt;br /&gt;4543 退 CDCB 9000 E98080   4544 吞 CDCC 541E E5909E&lt;br /&gt;4545 屯 CDCD 5C6F E5B1AF   4546 臀 CDCE 81C0 E88780&lt;br /&gt;4547 拖 CDCF 62D6 E68B96   4548 托 CDD0 6258 E68998&lt;br /&gt;4549 脱 CDD1 8131 E884B1   4550 鸵 CDD2 9E35 E9B8B5&lt;br /&gt;4551 陀 CDD3 9640 E99980   4552 驮 CDD4 9A6E E9A9AE&lt;br /&gt;4553 驼 CDD5 9A7C E9A9BC   4554 椭 CDD6 692D E6A4AD&lt;br /&gt;4555 妥 CDD7 59A5 E5A6A5   4556 拓 CDD8 62D3 E68B93&lt;br /&gt;4557 唾 CDD9 553E E594BE   4558 挖 CDDA 6316 E68C96&lt;br /&gt;4559 哇 CDDB 54C7 E59387   4560 蛙 CDDC 86D9 E89B99&lt;br /&gt;4561 洼 CDDD 6D3C E6B4BC   4562 娃 CDDE 5A03 E5A883&lt;br /&gt;4563 瓦 CDDF 74E6 E793A6   4564 袜 CDE0 889C E8A29C&lt;br /&gt;4565 歪 CDE1 6B6A E6ADAA   4566 外 CDE2 5916 E5A496&lt;br /&gt;4567 豌 CDE3 8C4C E8B18C   4568 弯 CDE4 5F2F E5BCAF&lt;br /&gt;4569 湾 CDE5 6E7E E6B9BE   4570 玩 CDE6 73A9 E78EA9&lt;br /&gt;4571 顽 CDE7 987D E9A1BD   4572 丸 CDE8 4E38 E4B8B8&lt;br /&gt;4573 烷 CDE9 70F7 E783B7   4574 完 CDEA 5B8C E5AE8C&lt;br /&gt;4575 碗 CDEB 7897 E7A297   4576 挽 CDEC 633D E68CBD&lt;br /&gt;4577 晚 CDED 665A E6999A   4578 皖 CDEE 7696 E79A96&lt;br /&gt;4579 惋 CDEF 60CB E6838B   4580 宛 CDF0 5B9B E5AE9B&lt;br /&gt;4581 婉 CDF1 5A49 E5A989   4582 万 CDF2 4E07 E4B887&lt;br /&gt;4583 腕 CDF3 8155 E88595   4584 汪 CDF4 6C6A E6B1AA&lt;br /&gt;4585 王 CDF5 738B E78E8B   4586 亡 CDF6 4EA1 E4BAA1&lt;br /&gt;4587 枉 CDF7 6789 E69E89   4588 网 CDF8 7F51 E7BD91&lt;br /&gt;4589 往 CDF9 5F80 E5BE80   4590 旺 CDFA 65FA E697BA&lt;br /&gt;4591 望 CDFB 671B E69C9B   4592 忘 CDFC 5FD8 E5BF98&lt;br /&gt;4593 妄 CDFD 5984 E5A684   4594 威 CDFE 5A01 E5A881&lt;br /&gt;4601 巍 CEA1 5DCD E5B78D   4602 微 CEA2 5FAE E5BEAE&lt;br /&gt;4603 危 CEA3 5371 E58DB1   4604 韦 CEA4 97E6 E99FA6&lt;br /&gt;4605 违 CEA5 8FDD E8BF9D   4606 桅 CEA6 6845 E6A185&lt;br /&gt;4607 围 CEA7 56F4 E59BB4   4608 唯 CEA8 552F E594AF&lt;br /&gt;4609 惟 CEA9 60DF E6839F   4610 为 CEAA 4E3A E4B8BA&lt;br /&gt;4611 潍 CEAB 6F4D E6BD8D   4612 维 CEAC 7EF4 E7BBB4&lt;br /&gt;4613 苇 CEAD 82C7 E88B87   4614 萎 CEAE 840E E8908E&lt;br /&gt;4615 委 CEAF 59D4 E5A794   4616 伟 CEB0 4F1F E4BC9F&lt;br /&gt;4617 伪 CEB1 4F2A E4BCAA   4618 尾 CEB2 5C3E E5B0BE&lt;br /&gt;4619 纬 CEB3 7EAC E7BAAC   4620 未 CEB4 672A E69CAA&lt;br /&gt;4621 蔚 CEB5 851A E8949A   4622 味 CEB6 5473 E591B3&lt;br /&gt;4623 畏 CEB7 754F E7958F   4624 胃 CEB8 80C3 E88383&lt;br /&gt;4625 喂 CEB9 5582 E59682   4626 魏 CEBA 9B4F E9AD8F&lt;br /&gt;4627 位 CEBB 4F4D E4BD8D   4628 渭 CEBC 6E2D E6B8AD&lt;br /&gt;4629 谓 CEBD 8C13 E8B093   4630 尉 CEBE 5C09 E5B089&lt;br /&gt;4631 慰 CEBF 6170 E685B0   4632 卫 CEC0 536B E58DAB&lt;br /&gt;4633 瘟 CEC1 761F E7989F   4634 温 CEC2 6E29 E6B8A9&lt;br /&gt;4635 蚊 CEC3 868A E89A8A   4636 文 CEC4 6587 E69687&lt;br /&gt;4637 闻 CEC5 95FB E997BB   4638 纹 CEC6 7EB9 E7BAB9&lt;br /&gt;4639 吻 CEC7 543B E590BB   4640 稳 CEC8 7A33 E7A8B3&lt;br /&gt;4641 紊 CEC9 7D0A E7B48A   4642 问 CECA 95EE E997AE&lt;br /&gt;4643 嗡 CECB 55E1 E597A1   4644 翁 CECC 7FC1 E7BF81&lt;br /&gt;4645 瓮 CECD 74EE E793AE   4646 挝 CECE 631D E68C9D&lt;br /&gt;4647 蜗 CECF 8717 E89C97   4648 涡 CED0 6DA1 E6B6A1&lt;br /&gt;4649 窝 CED1 7A9D E7AA9D   4650 我 CED2 6211 E68891&lt;br /&gt;4651 斡 CED3 65A1 E696A1   4652 卧 CED4 5367 E58DA7&lt;br /&gt;4653 握 CED5 63E1 E68FA1   4654 沃 CED6 6C83 E6B283&lt;br /&gt;4655 巫 CED7 5DEB E5B7AB   4656 呜 CED8 545C E5919C&lt;br /&gt;4657 钨 CED9 94A8 E992A8   4658 乌 CEDA 4E4C E4B98C&lt;br /&gt;4659 污 CEDB 6C61 E6B1A1   4660 诬 CEDC 8BEC E8AFAC&lt;br /&gt;4661 屋 CEDD 5C4B E5B18B   4662 无 CEDE 65E0 E697A0&lt;br /&gt;4663 芜 CEDF 829C E88A9C   4664 梧 CEE0 68A7 E6A2A7&lt;br /&gt;4665 吾 CEE1 543E E590BE   4666 吴 CEE2 5434 E590B4&lt;br /&gt;4667 毋 CEE3 6BCB E6AF8B   4668 武 CEE4 6B66 E6ADA6&lt;br /&gt;4669 五 CEE5 4E94 E4BA94   4670 捂 CEE6 6342 E68D82&lt;br /&gt;4671 午 CEE7 5348 E58D88   4672 舞 CEE8 821E E8889E&lt;br /&gt;4673 伍 CEE9 4F0D E4BC8D   4674 侮 CEEA 4FAE E4BEAE&lt;br /&gt;4675 坞 CEEB 575E E59D9E   4676 戊 CEEC 620A E6888A&lt;br /&gt;4677 雾 CEED 96FE E99BBE   4678 晤 CEEE 6664 E699A4&lt;br /&gt;4679 物 CEEF 7269 E789A9   4680 勿 CEF0 52FF E58BBF&lt;br /&gt;4681 务 CEF1 52A1 E58AA1   4682 悟 CEF2 609F E6829F&lt;br /&gt;4683 误 CEF3 8BEF E8AFAF   4684 昔 CEF4 6614 E69894&lt;br /&gt;4685 熙 CEF5 7199 E78699   4686 析 CEF6 6790 E69E90&lt;br /&gt;4687 西 CEF7 897F E8A5BF   4688 硒 CEF8 7852 E7A192&lt;br /&gt;4689 矽 CEF9 77FD E79FBD   4690 晰 CEFA 6670 E699B0&lt;br /&gt;4691 嘻 CEFB 563B E598BB   4692 吸 CEFC 5438 E590B8&lt;br /&gt;4693 锡 CEFD 9521 E994A1   4694 牺 CEFE 727A E789BA&lt;br /&gt;4701 稀 CFA1 7A00 E7A880   4702 息 CFA2 606F E681AF&lt;br /&gt;4703 希 CFA3 5E0C E5B88C   4704 悉 CFA4 6089 E68289&lt;br /&gt;4705 膝 CFA5 819D E8869D   4706 夕 CFA6 5915 E5A495&lt;br /&gt;4707 惜 CFA7 60DC E6839C   4708 熄 CFA8 7184 E78684&lt;br /&gt;4709 烯 CFA9 70EF E783AF   4710 溪 CFAA 6EAA E6BAAA&lt;br /&gt;4711 汐 CFAB 6C50 E6B190   4712 犀 CFAC 7280 E78A80&lt;br /&gt;4713 檄 CFAD 6A84 E6AA84   4714 袭 CFAE 88AD E8A2AD&lt;br /&gt;4715 席 CFAF 5E2D E5B8AD   4716 习 CFB0 4E60 E4B9A0&lt;br /&gt;4717 媳 CFB1 5AB3 E5AAB3   4718 喜 CFB2 559C E5969C&lt;br /&gt;4719 铣 CFB3 94E3 E993A3   4720 洗 CFB4 6D17 E6B497&lt;br /&gt;4721 系 CFB5 7CFB E7B3BB   4722 隙 CFB6 9699 E99A99&lt;br /&gt;4723 戏 CFB7 620F E6888F   4724 细 CFB8 7EC6 E7BB86&lt;br /&gt;4725 瞎 CFB9 778E E79E8E   4726 虾 CFBA 867E E899BE&lt;br /&gt;4727 匣 CFBB 5323 E58CA3   4728 霞 CFBC 971E E99C9E&lt;br /&gt;4729 辖 CFBD 8F96 E8BE96   4730 暇 CFBE 6687 E69A87&lt;br /&gt;4731 峡 CFBF 5CE1 E5B3A1   4732 侠 CFC0 4FA0 E4BEA0&lt;br /&gt;4733 狭 CFC1 72ED E78BAD   4734 下 CFC2 4E0B E4B88B&lt;br /&gt;4735 厦 CFC3 53A6 E58EA6   4736 夏 CFC4 590F E5A48F&lt;br /&gt;4737 吓 CFC5 5413 E59093   4738 掀 CFC6 6380 E68E80&lt;br /&gt;4739 锨 CFC7 9528 E994A8   4740 先 CFC8 5148 E58588&lt;br /&gt;4741 仙 CFC9 4ED9 E4BB99   4742 鲜 CFCA 9C9C E9B29C&lt;br /&gt;4743 纤 CFCB 7EA4 E7BAA4   4744 咸 CFCC 54B8 E592B8&lt;br /&gt;4745 贤 CFCD 8D24 E8B4A4   4746 衔 CFCE 8854 E8A194&lt;br /&gt;4747 舷 CFCF 8237 E888B7   4748 闲 CFD0 95F2 E997B2&lt;br /&gt;4749 涎 CFD1 6D8E E6B68E   4750 弦 CFD2 5F26 E5BCA6&lt;br /&gt;4751 嫌 CFD3 5ACC E5AB8C   4752 显 CFD4 663E E698BE&lt;br /&gt;4753 险 CFD5 9669 E999A9   4754 现 CFD6 73B0 E78EB0&lt;br /&gt;4755 献 CFD7 732E E78CAE   4756 县 CFD8 53BF E58EBF&lt;br /&gt;4757 腺 CFD9 817A E885BA   4758 馅 CFDA 9985 E9A685&lt;br /&gt;4759 羡 CFDB 7FA1 E7BEA1   4760 宪 CFDC 5BAA E5AEAA&lt;br /&gt;4761 陷 CFDD 9677 E999B7   4762 限 CFDE 9650 E99990&lt;br /&gt;4763 线 CFDF 7EBF E7BABF   4764 相 CFE0 76F8 E79BB8&lt;br /&gt;4765 厢 CFE1 53A2 E58EA2   4766 镶 CFE2 9576 E995B6&lt;br /&gt;4767 香 CFE3 9999 E9A699   4768 箱 CFE4 7BB1 E7AEB1&lt;br /&gt;4769 襄 CFE5 8944 E8A584   4770 湘 CFE6 6E58 E6B998&lt;br /&gt;4771 乡 CFE7 4E61 E4B9A1   4772 翔 CFE8 7FD4 E7BF94&lt;br /&gt;4773 祥 CFE9 7965 E7A5A5   4774 详 CFEA 8BE6 E8AFA6&lt;br /&gt;4775 想 CFEB 60F3 E683B3   4776 响 CFEC 54CD E5938D&lt;br /&gt;4777 享 CFED 4EAB E4BAAB   4778 项 CFEE 9879 E9A1B9&lt;br /&gt;4779 巷 CFEF 5DF7 E5B7B7   4780 橡 CFF0 6A61 E6A9A1&lt;br /&gt;4781 像 CFF1 50CF E5838F   4782 向 CFF2 5411 E59091&lt;br /&gt;4783 象 CFF3 8C61 E8B1A1   4784 萧 CFF4 8427 E890A7&lt;br /&gt;4785 硝 CFF5 785D E7A19D   4786 霄 CFF6 9704 E99C84&lt;br /&gt;4787 削 CFF7 524A E5898A   4788 哮 CFF8 54EE E593AE&lt;br /&gt;4789 嚣 CFF9 56A3 E59AA3   4790 销 CFFA 9500 E99480&lt;br /&gt;4791 消 CFFB 6D88 E6B688   4792 宵 CFFC 5BB5 E5AEB5&lt;br /&gt;4793 淆 CFFD 6DC6 E6B786   4794 晓 CFFE 6653 E69993&lt;br /&gt;4801 小 D0A1 5C0F E5B08F   4802 孝 D0A2 5B5D E5AD9D&lt;br /&gt;4803 校 D0A3 6821 E6A0A1   4804 肖 D0A4 8096 E88296&lt;br /&gt;4805 啸 D0A5 5578 E595B8   4806 笑 D0A6 7B11 E7AC91&lt;br /&gt;4807 效 D0A7 6548 E69588   4808 楔 D0A8 6954 E6A594&lt;br /&gt;4809 些 D0A9 4E9B E4BA9B   4810 歇 D0AA 6B47 E6AD87&lt;br /&gt;4811 蝎 D0AB 874E E89D8E   4812 鞋 D0AC 978B E99E8B&lt;br /&gt;4813 协 D0AD 534F E58D8F   4814 挟 D0AE 631F E68C9F&lt;br /&gt;4815 携 D0AF 643A E690BA   4816 邪 D0B0 90AA E982AA&lt;br /&gt;4817 斜 D0B1 659C E6969C   4818 胁 D0B2 80C1 E88381&lt;br /&gt;4819 谐 D0B3 8C10 E8B090   4820 写 D0B4 5199 E58699&lt;br /&gt;4821 械 D0B5 68B0 E6A2B0   4822 卸 D0B6 5378 E58DB8&lt;br /&gt;4823 蟹 D0B7 87F9 E89FB9   4824 懈 D0B8 61C8 E68788&lt;br /&gt;4825 泄 D0B9 6CC4 E6B384   4826 泻 D0BA 6CFB E6B3BB&lt;br /&gt;4827 谢 D0BB 8C22 E8B0A2   4828 屑 D0BC 5C51 E5B191&lt;br /&gt;4829 薪 D0BD 85AA E896AA   4830 芯 D0BE 82AF E88AAF&lt;br /&gt;4831 锌 D0BF 950C E9948C   4832 欣 D0C0 6B23 E6ACA3&lt;br /&gt;4833 辛 D0C1 8F9B E8BE9B   4834 新 D0C2 65B0 E696B0&lt;br /&gt;4835 忻 D0C3 5FFB E5BFBB   4836 心 D0C4 5FC3 E5BF83&lt;br /&gt;4837 信 D0C5 4FE1 E4BFA1   4838 衅 D0C6 8845 E8A185&lt;br /&gt;4839 星 D0C7 661F E6989F   4840 腥 D0C8 8165 E885A5&lt;br /&gt;4841 猩 D0C9 7329 E78CA9   4842 惺 D0CA 60FA E683BA&lt;br /&gt;4843 兴 D0CB 5174 E585B4   4844 刑 D0CC 5211 E58891&lt;br /&gt;4845 型 D0CD 578B E59E8B   4846 形 D0CE 5F62 E5BDA2&lt;br /&gt;4847 邢 D0CF 90A2 E982A2   4848 行 D0D0 884C E8A18C&lt;br /&gt;4849 醒 D0D1 9192 E98692   4850 幸 D0D2 5E78 E5B9B8&lt;br /&gt;4851 杏 D0D3 674F E69D8F   4852 性 D0D4 6027 E680A7&lt;br /&gt;4853 姓 D0D5 59D3 E5A793   4854 兄 D0D6 5144 E58584&lt;br /&gt;4855 凶 D0D7 51F6 E587B6   4856 胸 D0D8 80F8 E883B8&lt;br /&gt;4857 匈 D0D9 5308 E58C88   4858 汹 D0DA 6C79 E6B1B9&lt;br /&gt;4859 雄 D0DB 96C4 E99B84   4860 熊 D0DC 718A E7868A&lt;br /&gt;4861 休 D0DD 4F11 E4BC91   4862 修 D0DE 4FEE E4BFAE&lt;br /&gt;4863 羞 D0DF 7F9E E7BE9E   4864 朽 D0E0 673D E69CBD&lt;br /&gt;4865 嗅 D0E1 55C5 E59785   4866 锈 D0E2 9508 E99488&lt;br /&gt;4867 秀 D0E3 79C0 E7A780   4868 袖 D0E4 8896 E8A296&lt;br /&gt;4869 绣 D0E5 7EE3 E7BBA3   4870 墟 D0E6 589F E5A29F&lt;br /&gt;4871 戌 D0E7 620C E6888C   4872 需 D0E8 9700 E99C80&lt;br /&gt;4873 虚 D0E9 865A E8999A   4874 嘘 D0EA 5618 E59898&lt;br /&gt;4875 须 D0EB 987B E9A1BB   4876 徐 D0EC 5F90 E5BE90&lt;br /&gt;4877 许 D0ED 8BB8 E8AEB8   4878 蓄 D0EE 84C4 E89384&lt;br /&gt;4879 酗 D0EF 9157 E98597   4880 叙 D0F0 53D9 E58F99&lt;br /&gt;4881 旭 D0F1 65ED E697AD   4882 序 D0F2 5E8F E5BA8F&lt;br /&gt;4883 畜 D0F3 755C E7959C   4884 恤 D0F4 6064 E681A4&lt;br /&gt;4885 絮 D0F5 7D6E E7B5AE   4886 婿 D0F6 5A7F E5A9BF&lt;br /&gt;4887 绪 D0F7 7EEA E7BBAA   4888 续 D0F8 7EED E7BBAD&lt;br /&gt;4889 轩 D0F9 8F69 E8BDA9   4890 喧 D0FA 55A7 E596A7&lt;br /&gt;4891 宣 D0FB 5BA3 E5AEA3   4892 悬 D0FC 60AC E682AC&lt;br /&gt;4893 旋 D0FD 65CB E6978B   4894 玄 D0FE 7384 E78E84&lt;br /&gt;4901 选 D1A1 9009 E98089   4902 癣 D1A2 7663 E799A3&lt;br /&gt;4903 眩 D1A3 7729 E79CA9   4904 绚 D1A4 7EDA E7BB9A&lt;br /&gt;4905 靴 D1A5 9774 E99DB4   4906 薛 D1A6 859B E8969B&lt;br /&gt;4907 学 D1A7 5B66 E5ADA6   4908 穴 D1A8 7A74 E7A9B4&lt;br /&gt;4909 雪 D1A9 96EA E99BAA   4910 血 D1AA 8840 E8A180&lt;br /&gt;4911 勋 D1AB 52CB E58B8B   4912 熏 D1AC 718F E7868F&lt;br /&gt;4913 循 D1AD 5FAA E5BEAA   4914 旬 D1AE 65EC E697AC&lt;br /&gt;4915 询 D1AF 8BE2 E8AFA2   4916 寻 D1B0 5BFB E5AFBB&lt;br /&gt;4917 驯 D1B1 9A6F E9A9AF   4918 巡 D1B2 5DE1 E5B7A1&lt;br /&gt;4919 殉 D1B3 6B89 E6AE89   4920 汛 D1B4 6C5B E6B19B&lt;br /&gt;4921 训 D1B5 8BAD E8AEAD   4922 讯 D1B6 8BAF E8AEAF&lt;br /&gt;4923 逊 D1B7 900A E9808A   4924 迅 D1B8 8FC5 E8BF85&lt;br /&gt;4925 压 D1B9 538B E58E8B   4926 押 D1BA 62BC E68ABC&lt;br /&gt;4927 鸦 D1BB 9E26 E9B8A6   4928 鸭 D1BC 9E2D E9B8AD&lt;br /&gt;4929 呀 D1BD 5440 E59180   4930 丫 D1BE 4E2B E4B8AB&lt;br /&gt;4931 芽 D1BF 82BD E88ABD   4932 牙 D1C0 7259 E78999&lt;br /&gt;4933 蚜 D1C1 869C E89A9C   4934 崖 D1C2 5D16 E5B496&lt;br /&gt;4935 衙 D1C3 8859 E8A199   4936 涯 D1C4 6DAF E6B6AF&lt;br /&gt;4937 雅 D1C5 96C5 E99B85   4938 哑 D1C6 54D1 E59391&lt;br /&gt;4939 亚 D1C7 4E9A E4BA9A   4940 讶 D1C8 8BB6 E8AEB6&lt;br /&gt;4941 焉 D1C9 7109 E78489   4942 咽 D1CA 54BD E592BD&lt;br /&gt;4943 阉 D1CB 9609 E99889   4944 烟 D1CC 70DF E7839F&lt;br /&gt;4945 淹 D1CD 6DF9 E6B7B9   4946 盐 D1CE 76D0 E79B90&lt;br /&gt;4947 严 D1CF 4E25 E4B8A5   4948 研 D1D0 7814 E7A094&lt;br /&gt;4949 蜒 D1D1 8712 E89C92   4950 岩 D1D2 5CA9 E5B2A9&lt;br /&gt;4951 延 D1D3 5EF6 E5BBB6   4952 言 D1D4 8A00 E8A880&lt;br /&gt;4953 颜 D1D5 989C E9A29C   4954 阎 D1D6 960E E9988E&lt;br /&gt;4955 炎 D1D7 708E E7828E   4956 沿 D1D8 6CBF E6B2BF&lt;br /&gt;4957 奄 D1D9 5944 E5A584   4958 掩 D1DA 63A9 E68EA9&lt;br /&gt;4959 眼 D1DB 773C E79CBC   4960 衍 D1DC 884D E8A18D&lt;br /&gt;4961 演 D1DD 6F14 E6BC94   4962 艳 D1DE 8273 E889B3&lt;br /&gt;4963 堰 D1DF 5830 E5A0B0   4964 燕 D1E0 71D5 E78795&lt;br /&gt;4965 厌 D1E1 538C E58E8C   4966 砚 D1E2 781A E7A09A&lt;br /&gt;4967 雁 D1E3 96C1 E99B81   4968 唁 D1E4 5501 E59481&lt;br /&gt;4969 彦 D1E5 5F66 E5BDA6   4970 焰 D1E6 7130 E784B0&lt;br /&gt;4971 宴 D1E7 5BB4 E5AEB4   4972 谚 D1E8 8C1A E8B09A&lt;br /&gt;4973 验 D1E9 9A8C E9AA8C   4974 殃 D1EA 6B83 E6AE83&lt;br /&gt;4975 央 D1EB 592E E5A4AE   4976 鸯 D1EC 9E2F E9B8AF&lt;br /&gt;4977 秧 D1ED 79E7 E7A7A7   4978 杨 D1EE 6768 E69DA8&lt;br /&gt;4979 扬 D1EF 626C E689AC   4980 佯 D1F0 4F6F E4BDAF&lt;br /&gt;4981 疡 D1F1 75A1 E796A1   4982 羊 D1F2 7F8A E7BE8A&lt;br /&gt;4983 洋 D1F3 6D0B E6B48B   4984 阳 D1F4 9633 E998B3&lt;br /&gt;4985 氧 D1F5 6C27 E6B0A7   4986 仰 D1F6 4EF0 E4BBB0&lt;br /&gt;4987 痒 D1F7 75D2 E79792   4988 养 D1F8 517B E585BB&lt;br /&gt;4989 样 D1F9 6837 E6A0B7   4990 漾 D1FA 6F3E E6BCBE&lt;br /&gt;4991 邀 D1FB 9080 E98280   4992 腰 D1FC 8170 E885B0&lt;br /&gt;4993 妖 D1FD 5996 E5A696   4994 瑶 D1FE 7476 E791B6&lt;br /&gt;5001 摇 D2A1 6447 E69187   5002 尧 D2A2 5C27 E5B0A7&lt;br /&gt;5003 遥 D2A3 9065 E981A5   5004 窑 D2A4 7A91 E7AA91&lt;br /&gt;5005 谣 D2A5 8C23 E8B0A3   5006 姚 D2A6 59DA E5A79A&lt;br /&gt;5007 咬 D2A7 54AC E592AC   5008 舀 D2A8 8200 E88880&lt;br /&gt;5009 药 D2A9 836F E88DAF   5010 要 D2AA 8981 E8A681&lt;br /&gt;5011 耀 D2AB 8000 E88080   5012 椰 D2AC 6930 E6A4B0&lt;br /&gt;5013 噎 D2AD 564E E5998E   5014 耶 D2AE 8036 E880B6&lt;br /&gt;5015 爷 D2AF 7237 E788B7   5016 野 D2B0 91CE E9878E&lt;br /&gt;5017 冶 D2B1 51B6 E586B6   5018 也 D2B2 4E5F E4B99F&lt;br /&gt;5019 页 D2B3 9875 E9A1B5   5020 掖 D2B4 6396 E68E96&lt;br /&gt;5021 业 D2B5 4E1A E4B89A   5022 叶 D2B6 53F6 E58FB6&lt;br /&gt;5023 曳 D2B7 66F3 E69BB3   5024 腋 D2B8 814B E8858B&lt;br /&gt;5025 夜 D2B9 591C E5A49C   5026 液 D2BA 6DB2 E6B6B2&lt;br /&gt;5027 一 D2BB 4E00 E4B880   5028 壹 D2BC 58F9 E5A3B9&lt;br /&gt;5029 医 D2BD 533B E58CBB   5030 揖 D2BE 63D6 E68F96&lt;br /&gt;5031 铱 D2BF 94F1 E993B1   5032 依 D2C0 4F9D E4BE9D&lt;br /&gt;5033 伊 D2C1 4F0A E4BC8A   5034 衣 D2C2 8863 E8A1A3&lt;br /&gt;5035 颐 D2C3 9890 E9A290   5036 夷 D2C4 5937 E5A4B7&lt;br /&gt;5037 遗 D2C5 9057 E98197   5038 移 D2C6 79FB E7A7BB&lt;br /&gt;5039 仪 D2C7 4EEA E4BBAA   5040 胰 D2C8 80F0 E883B0&lt;br /&gt;5041 疑 D2C9 7591 E79691   5042 沂 D2CA 6C82 E6B282&lt;br /&gt;5043 宜 D2CB 5B9C E5AE9C   5044 姨 D2CC 59E8 E5A7A8&lt;br /&gt;5045 彝 D2CD 5F5D E5BD9D   5046 椅 D2CE 6905 E6A485&lt;br /&gt;5047 蚁 D2CF 8681 E89A81   5048 倚 D2D0 501A E5809A&lt;br /&gt;5049 已 D2D1 5DF2 E5B7B2   5050 乙 D2D2 4E59 E4B999&lt;br /&gt;5051 矣 D2D3 77E3 E79FA3   5052 以 D2D4 4EE5 E4BBA5&lt;br /&gt;5053 艺 D2D5 827A E889BA   5054 抑 D2D6 6291 E68A91&lt;br /&gt;5055 易 D2D7 6613 E69893   5056 邑 D2D8 9091 E98291&lt;br /&gt;5057 屹 D2D9 5C79 E5B1B9   5058 亿 D2DA 4EBF E4BABF&lt;br /&gt;5059 役 D2DB 5F79 E5BDB9   5060 臆 D2DC 81C6 E88786&lt;br /&gt;5061 逸 D2DD 9038 E980B8   5062 肄 D2DE 8084 E88284&lt;br /&gt;5063 疫 D2DF 75AB E796AB   5064 亦 D2E0 4EA6 E4BAA6&lt;br /&gt;5065 裔 D2E1 88D4 E8A394   5066 意 D2E2 610F E6848F&lt;br /&gt;5067 毅 D2E3 6BC5 E6AF85   5068 忆 D2E4 5FC6 E5BF86&lt;br /&gt;5069 义 D2E5 4E49 E4B989   5070 益 D2E6 76CA E79B8A&lt;br /&gt;5071 溢 D2E7 6EA2 E6BAA2   5072 诣 D2E8 8BE3 E8AFA3&lt;br /&gt;5073 议 D2E9 8BAE E8AEAE   5074 谊 D2EA 8C0A E8B08A&lt;br /&gt;5075 译 D2EB 8BD1 E8AF91   5076 异 D2EC 5F02 E5BC82&lt;br /&gt;5077 翼 D2ED 7FFC E7BFBC   5078 翌 D2EE 7FCC E7BF8C&lt;br /&gt;5079 绎 D2EF 7ECE E7BB8E   5080 茵 D2F0 8335 E88CB5&lt;br /&gt;5081 荫 D2F1 836B E88DAB   5082 因 D2F2 56E0 E59BA0&lt;br /&gt;5083 殷 D2F3 6BB7 E6AEB7   5084 音 D2F4 97F3 E99FB3&lt;br /&gt;5085 阴 D2F5 9634 E998B4   5086 姻 D2F6 59FB E5A7BB&lt;br /&gt;5087 吟 D2F7 541F E5909F   5088 银 D2F8 94F6 E993B6&lt;br /&gt;5089 淫 D2F9 6DEB E6B7AB   5090 寅 D2FA 5BC5 E5AF85&lt;br /&gt;5091 饮 D2FB 996E E9A5AE   5092 尹 D2FC 5C39 E5B0B9&lt;br /&gt;5093 引 D2FD 5F15 E5BC95   5094 隐 D2FE 9690 E99A90&lt;br /&gt;5101 印 D3A1 5370 E58DB0   5102 英 D3A2 82F1 E88BB1&lt;br /&gt;5103 樱 D3A3 6A31 E6A8B1   5104 婴 D3A4 5A74 E5A9B4&lt;br /&gt;5105 鹰 D3A5 9E70 E9B9B0   5106 应 D3A6 5E94 E5BA94&lt;br /&gt;5107 缨 D3A7 7F28 E7BCA8   5108 莹 D3A8 83B9 E88EB9&lt;br /&gt;5109 萤 D3A9 8424 E890A4   5110 营 D3AA 8425 E890A5&lt;br /&gt;5111 荧 D3AB 8367 E88DA7   5112 蝇 D3AC 8747 E89D87&lt;br /&gt;5113 迎 D3AD 8FCE E8BF8E   5114 赢 D3AE 8D62 E8B5A2&lt;br /&gt;5115 盈 D3AF 76C8 E79B88   5116 影 D3B0 5F71 E5BDB1&lt;br /&gt;5117 颖 D3B1 9896 E9A296   5118 硬 D3B2 786C E7A1AC&lt;br /&gt;5119 映 D3B3 6620 E698A0   5120 哟 D3B4 54DF E5939F&lt;br /&gt;5121 拥 D3B5 62E5 E68BA5   5122 佣 D3B6 4F63 E4BDA3&lt;br /&gt;5123 臃 D3B7 81C3 E88783   5124 痈 D3B8 75C8 E79788&lt;br /&gt;5125 庸 D3B9 5EB8 E5BAB8   5126 雍 D3BA 96CD E99B8D&lt;br /&gt;5127 踊 D3BB 8E0A E8B88A   5128 蛹 D3BC 86F9 E89BB9&lt;br /&gt;5129 咏 D3BD 548F E5928F   5130 泳 D3BE 6CF3 E6B3B3&lt;br /&gt;5131 涌 D3BF 6D8C E6B68C   5132 永 D3C0 6C38 E6B0B8&lt;br /&gt;5133 恿 D3C1 607F E681BF   5134 勇 D3C2 52C7 E58B87&lt;br /&gt;5135 用 D3C3 7528 E794A8   5136 幽 D3C4 5E7D E5B9BD&lt;br /&gt;5137 优 D3C5 4F18 E4BC98   5138 悠 D3C6 60A0 E682A0&lt;br /&gt;5139 忧 D3C7 5FE7 E5BFA7   5140 尤 D3C8 5C24 E5B0A4&lt;br /&gt;5141 由 D3C9 7531 E794B1   5142 邮 D3CA 90AE E982AE&lt;br /&gt;5143 铀 D3CB 94C0 E99380   5144 犹 D3CC 72B9 E78AB9&lt;br /&gt;5145 油 D3CD 6CB9 E6B2B9   5146 游 D3CE 6E38 E6B8B8&lt;br /&gt;5147 酉 D3CF 9149 E98589   5148 有 D3D0 6709 E69C89&lt;br /&gt;5149 友 D3D1 53CB E58F8B   5150 右 D3D2 53F3 E58FB3&lt;br /&gt;5151 佑 D3D3 4F51 E4BD91   5152 釉 D3D4 91C9 E98789&lt;br /&gt;5153 诱 D3D5 8BF1 E8AFB1   5154 又 D3D6 53C8 E58F88&lt;br /&gt;5155 幼 D3D7 5E7C E5B9BC   5156 迂 D3D8 8FC2 E8BF82&lt;br /&gt;5157 淤 D3D9 6DE4 E6B7A4   5158 于 D3DA 4E8E E4BA8E&lt;br /&gt;5159 盂 D3DB 76C2 E79B82   5160 榆 D3DC 6986 E6A686&lt;br /&gt;5161 虞 D3DD 865E E8999E   5162 愚 D3DE 611A E6849A&lt;br /&gt;5163 舆 D3DF 8206 E88886   5164 余 D3E0 4F59 E4BD99&lt;br /&gt;5165 俞 D3E1 4FDE E4BF9E   5166 逾 D3E2 903E E980BE&lt;br /&gt;5167 鱼 D3E3 9C7C E9B1BC   5168 愉 D3E4 6109 E68489&lt;br /&gt;5169 渝 D3E5 6E1D E6B89D   5170 渔 D3E6 6E14 E6B894&lt;br /&gt;5171 隅 D3E7 9685 E99A85   5172 予 D3E8 4E88 E4BA88&lt;br /&gt;5173 娱 D3E9 5A31 E5A8B1   5174 雨 D3EA 96E8 E99BA8&lt;br /&gt;5175 与 D3EB 4E0E E4B88E   5176 屿 D3EC 5C7F E5B1BF&lt;br /&gt;5177 禹 D3ED 79B9 E7A6B9   5178 宇 D3EE 5B87 E5AE87&lt;br /&gt;5179 语 D3EF 8BED E8AFAD   5180 羽 D3F0 7FBD E7BEBD&lt;br /&gt;5181 玉 D3F1 7389 E78E89   5182 域 D3F2 57DF E59F9F&lt;br /&gt;5183 芋 D3F3 828B E88A8B   5184 郁 D3F4 90C1 E98381&lt;br /&gt;5185 吁 D3F5 5401 E59081   5186 遇 D3F6 9047 E98187&lt;br /&gt;5187 喻 D3F7 55BB E596BB   5188 峪 D3F8 5CEA E5B3AA&lt;br /&gt;5189 御 D3F9 5FA1 E5BEA1   5190 愈 D3FA 6108 E68488&lt;br /&gt;5191 欲 D3FB 6B32 E6ACB2   5192 狱 D3FC 72F1 E78BB1&lt;br /&gt;5193 育 D3FD 80B2 E882B2   5194 誉 D3FE 8A89 E8AA89&lt;br /&gt;5201 浴 D4A1 6D74 E6B5B4   5202 寓 D4A2 5BD3 E5AF93&lt;br /&gt;5203 裕 D4A3 88D5 E8A395   5204 预 D4A4 9884 E9A284&lt;br /&gt;5205 豫 D4A5 8C6B E8B1AB   5206 驭 D4A6 9A6D E9A9AD&lt;br /&gt;5207 鸳 D4A7 9E33 E9B8B3   5208 渊 D4A8 6E0A E6B88A&lt;br /&gt;5209 冤 D4A9 51A4 E586A4   5210 元 D4AA 5143 E58583&lt;br /&gt;5211 垣 D4AB 57A3 E59EA3   5212 袁 D4AC 8881 E8A281&lt;br /&gt;5213 原 D4AD 539F E58E9F   5214 援 D4AE 63F4 E68FB4&lt;br /&gt;5215 辕 D4AF 8F95 E8BE95   5216 园 D4B0 56ED E59BAD&lt;br /&gt;5217 员 D4B1 5458 E59198   5218 圆 D4B2 5706 E59C86&lt;br /&gt;5219 猿 D4B3 733F E78CBF   5220 源 D4B4 6E90 E6BA90&lt;br /&gt;5221 缘 D4B5 7F18 E7BC98   5222 远 D4B6 8FDC E8BF9C&lt;br /&gt;5223 苑 D4B7 82D1 E88B91   5224 愿 D4B8 613F E684BF&lt;br /&gt;5225 怨 D4B9 6028 E680A8   5226 院 D4BA 9662 E999A2&lt;br /&gt;5227 曰 D4BB 66F0 E69BB0   5228 约 D4BC 7EA6 E7BAA6&lt;br /&gt;5229 越 D4BD 8D8A E8B68A   5230 跃 D4BE 8DC3 E8B783&lt;br /&gt;5231 钥 D4BF 94A5 E992A5   5232 岳 D4C0 5CB3 E5B2B3&lt;br /&gt;5233 粤 D4C1 7CA4 E7B2A4   5234 月 D4C2 6708 E69C88&lt;br /&gt;5235 悦 D4C3 60A6 E682A6   5236 阅 D4C4 9605 E99885&lt;br /&gt;5237 耘 D4C5 8018 E88098   5238 云 D4C6 4E91 E4BA91&lt;br /&gt;5239 郧 D4C7 90E7 E983A7   5240 匀 D4C8 5300 E58C80&lt;br /&gt;5241 陨 D4C9 9668 E999A8   5242 允 D4CA 5141 E58581&lt;br /&gt;5243 运 D4CB 8FD0 E8BF90   5244 蕴 D4CC 8574 E895B4&lt;br /&gt;5245 酝 D4CD 915D E9859D   5246 晕 D4CE 6655 E69995&lt;br /&gt;5247 韵 D4CF 97F5 E99FB5   5248 孕 D4D0 5B55 E5AD95&lt;br /&gt;5249 匝 D4D1 531D E58C9D   5250 砸 D4D2 7838 E7A0B8&lt;br /&gt;5251 杂 D4D3 6742 E69D82   5252 栽 D4D4 683D E6A0BD&lt;br /&gt;5253 哉 D4D5 54C9 E59389   5254 灾 D4D6 707E E781BE&lt;br /&gt;5255 宰 D4D7 5BB0 E5AEB0   5256 载 D4D8 8F7D E8BDBD&lt;br /&gt;5257 再 D4D9 518D E5868D   5258 在 D4DA 5728 E59CA8&lt;br /&gt;5259 咱 D4DB 54B1 E592B1   5260 攒 D4DC 6512 E69492&lt;br /&gt;5261 暂 D4DD 6682 E69A82   5262 赞 D4DE 8D5E E8B59E&lt;br /&gt;5263 赃 D4DF 8D43 E8B583   5264 脏 D4E0 810F E8848F&lt;br /&gt;5265 葬 D4E1 846C E891AC   5266 遭 D4E2 906D E981AD&lt;br /&gt;5267 糟 D4E3 7CDF E7B39F   5268 凿 D4E4 51FF E587BF&lt;br /&gt;5269 藻 D4E5 85FB E897BB   5270 枣 D4E6 67A3 E69EA3&lt;br /&gt;5271 早 D4E7 65E9 E697A9   5272 澡 D4E8 6FA1 E6BEA1&lt;br /&gt;5273 蚤 D4E9 86A4 E89AA4   5274 躁 D4EA 8E81 E8BA81&lt;br /&gt;5275 噪 D4EB 566A E599AA   5276 造 D4EC 9020 E980A0&lt;br /&gt;5277 皂 D4ED 7682 E79A82   5278 灶 D4EE 7076 E781B6&lt;br /&gt;5279 燥 D4EF 71E5 E787A5   5280 责 D4F0 8D23 E8B4A3&lt;br /&gt;5281 择 D4F1 62E9 E68BA9   5282 则 D4F2 5219 E58899&lt;br /&gt;5283 泽 D4F3 6CFD E6B3BD   5284 贼 D4F4 8D3C E8B4BC&lt;br /&gt;5285 怎 D4F5 600E E6808E   5286 增 D4F6 589E E5A29E&lt;br /&gt;5287 憎 D4F7 618E E6868E   5288 曾 D4F8 66FE E69BBE&lt;br /&gt;5289 赠 D4F9 8D60 E8B5A0   5290 扎 D4FA 624E E6898E&lt;br /&gt;5291 喳 D4FB 55B3 E596B3   5292 渣 D4FC 6E23 E6B8A3&lt;br /&gt;5293 札 D4FD 672D E69CAD   5294 轧 D4FE 8F67 E8BDA7&lt;br /&gt;5301 铡 D5A1 94E1 E993A1   5302 闸 D5A2 95F8 E997B8&lt;br /&gt;5303 眨 D5A3 7728 E79CA8   5304 栅 D5A4 6805 E6A085&lt;br /&gt;5305 榨 D5A5 69A8 E6A6A8   5306 咋 D5A6 548B E5928B&lt;br /&gt;5307 乍 D5A7 4E4D E4B98D   5308 炸 D5A8 70B8 E782B8&lt;br /&gt;5309 诈 D5A9 8BC8 E8AF88   5310 摘 D5AA 6458 E69198&lt;br /&gt;5311 斋 D5AB 658B E6968B   5312 宅 D5AC 5B85 E5AE85&lt;br /&gt;5313 窄 D5AD 7A84 E7AA84   5314 债 D5AE 503A E580BA&lt;br /&gt;5315 寨 D5AF 5BE8 E5AFA8   5316 瞻 D5B0 77BB E79EBB&lt;br /&gt;5317 毡 D5B1 6BE1 E6AFA1   5318 詹 D5B2 8A79 E8A9B9&lt;br /&gt;5319 粘 D5B3 7C98 E7B298   5320 沾 D5B4 6CBE E6B2BE&lt;br /&gt;5321 盏 D5B5 76CF E79B8F   5322 斩 D5B6 65A9 E696A9&lt;br /&gt;5323 辗 D5B7 8F97 E8BE97   5324 崭 D5B8 5D2D E5B4AD&lt;br /&gt;5325 展 D5B9 5C55 E5B195   5326 蘸 D5BA 8638 E898B8&lt;br /&gt;5327 栈 D5BB 6808 E6A088   5328 占 D5BC 5360 E58DA0&lt;br /&gt;5329 战 D5BD 6218 E68898   5330 站 D5BE 7AD9 E7AB99&lt;br /&gt;5331 湛 D5BF 6E5B E6B99B   5332 绽 D5C0 7EFD E7BBBD&lt;br /&gt;5333 樟 D5C1 6A1F E6A89F   5334 章 D5C2 7AE0 E7ABA0&lt;br /&gt;5335 彰 D5C3 5F70 E5BDB0   5336 漳 D5C4 6F33 E6BCB3&lt;br /&gt;5337 张 D5C5 5F20 E5BCA0   5338 掌 D5C6 638C E68E8C&lt;br /&gt;5339 涨 D5C7 6DA8 E6B6A8   5340 杖 D5C8 6756 E69D96&lt;br /&gt;5341 丈 D5C9 4E08 E4B888   5342 帐 D5CA 5E10 E5B890&lt;br /&gt;5343 账 D5CB 8D26 E8B4A6   5344 仗 D5CC 4ED7 E4BB97&lt;br /&gt;5345 胀 D5CD 80C0 E88380   5346 瘴 D5CE 7634 E798B4&lt;br /&gt;5347 障 D5CF 969C E99A9C   5348 招 D5D0 62DB E68B9B&lt;br /&gt;5349 昭 D5D1 662D E698AD   5350 找 D5D2 627E E689BE&lt;br /&gt;5351 沼 D5D3 6CBC E6B2BC   5352 赵 D5D4 8D75 E8B5B5&lt;br /&gt;5353 照 D5D5 7167 E785A7   5354 罩 D5D6 7F69 E7BDA9&lt;br /&gt;5355 兆 D5D7 5146 E58586   5356 肇 D5D8 8087 E88287&lt;br /&gt;5357 召 D5D9 53EC E58FAC   5358 遮 D5DA 906E E981AE&lt;br /&gt;5359 折 D5DB 6298 E68A98   5360 哲 D5DC 54F2 E593B2&lt;br /&gt;5361 蛰 D5DD 86F0 E89BB0   5362 辙 D5DE 8F99 E8BE99&lt;br /&gt;5363 者 D5DF 8005 E88085   5364 锗 D5E0 9517 E99497&lt;br /&gt;5365 蔗 D5E1 8517 E89497   5366 这 D5E2 8FD9 E8BF99&lt;br /&gt;5367 浙 D5E3 6D59 E6B599   5368 珍 D5E4 73CD E78F8D&lt;br /&gt;5369 斟 D5E5 659F E6969F   5370 真 D5E6 771F E79C9F&lt;br /&gt;5371 甄 D5E7 7504 E79484   5372 砧 D5E8 7827 E7A0A7&lt;br /&gt;5373 臻 D5E9 81FB E887BB   5374 贞 D5EA 8D1E E8B49E&lt;br /&gt;5375 针 D5EB 9488 E99288   5376 侦 D5EC 4FA6 E4BEA6&lt;br /&gt;5377 枕 D5ED 6795 E69E95   5378 疹 D5EE 75B9 E796B9&lt;br /&gt;5379 诊 D5EF 8BCA E8AF8A   5380 震 D5F0 9707 E99C87&lt;br /&gt;5381 振 D5F1 632F E68CAF   5382 镇 D5F2 9547 E99587&lt;br /&gt;5383 阵 D5F3 9635 E998B5   5384 蒸 D5F4 84B8 E892B8&lt;br /&gt;5385 挣 D5F5 6323 E68CA3   5386 睁 D5F6 7741 E79D81&lt;br /&gt;5387 征 D5F7 5F81 E5BE81   5388 狰 D5F8 72F0 E78BB0&lt;br /&gt;5389 争 D5F9 4E89 E4BA89   5390 怔 D5FA 6014 E68094&lt;br /&gt;5391 整 D5FB 6574 E695B4   5392 拯 D5FC 62EF E68BAF&lt;br /&gt;5393 正 D5FD 6B63 E6ADA3   5394 政 D5FE 653F E694BF&lt;br /&gt;5401 帧 D6A1 5E27 E5B8A7   5402 症 D6A2 75C7 E79787&lt;br /&gt;5403 郑 D6A3 90D1 E98391   5404 证 D6A4 8BC1 E8AF81&lt;br /&gt;5405 芝 D6A5 829D E88A9D   5406 枝 D6A6 679D E69E9D&lt;br /&gt;5407 支 D6A7 652F E694AF   5408 吱 D6A8 5431 E590B1&lt;br /&gt;5409 蜘 D6A9 8718 E89C98   5410 知 D6AA 77E5 E79FA5&lt;br /&gt;5411 肢 D6AB 80A2 E882A2   5412 脂 D6AC 8102 E88482&lt;br /&gt;5413 汁 D6AD 6C41 E6B181   5414 之 D6AE 4E4B E4B98B&lt;br /&gt;5415 织 D6AF 7EC7 E7BB87   5416 职 D6B0 804C E8818C&lt;br /&gt;5417 直 D6B1 76F4 E79BB4   5418 植 D6B2 690D E6A48D&lt;br /&gt;5419 殖 D6B3 6B96 E6AE96   5420 执 D6B4 6267 E689A7&lt;br /&gt;5421 值 D6B5 503C E580BC   5422 侄 D6B6 4F84 E4BE84&lt;br /&gt;5423 址 D6B7 5740 E59D80   5424 指 D6B8 6307 E68C87&lt;br /&gt;5425 止 D6B9 6B62 E6ADA2   5426 趾 D6BA 8DBE E8B6BE&lt;br /&gt;5427 只 D6BB 53EA E58FAA   5428 旨 D6BC 65E8 E697A8&lt;br /&gt;5429 纸 D6BD 7EB8 E7BAB8   5430 志 D6BE 5FD7 E5BF97&lt;br /&gt;5431 挚 D6BF 631A E68C9A   5432 掷 D6C0 63B7 E68EB7&lt;br /&gt;5433 至 D6C1 81F3 E887B3   5434 致 D6C2 81F4 E887B4&lt;br /&gt;5435 置 D6C3 7F6E E7BDAE   5436 帜 D6C4 5E1C E5B89C&lt;br /&gt;5437 峙 D6C5 5CD9 E5B399   5438 制 D6C6 5236 E588B6&lt;br /&gt;5439 智 D6C7 667A E699BA   5440 秩 D6C8 79E9 E7A7A9&lt;br /&gt;5441 稚 D6C9 7A1A E7A89A   5442 质 D6CA 8D28 E8B4A8&lt;br /&gt;5443 炙 D6CB 7099 E78299   5444 痔 D6CC 75D4 E79794&lt;br /&gt;5445 滞 D6CD 6EDE E6BB9E   5446 治 D6CE 6CBB E6B2BB&lt;br /&gt;5447 窒 D6CF 7A92 E7AA92   5448 中 D6D0 4E2D E4B8AD&lt;br /&gt;5449 盅 D6D1 76C5 E79B85   5450 忠 D6D2 5FE0 E5BFA0&lt;br /&gt;5451 钟 D6D3 949F E9929F   5452 衷 D6D4 8877 E8A1B7&lt;br /&gt;5453 终 D6D5 7EC8 E7BB88   5454 种 D6D6 79CD E7A78D&lt;br /&gt;5455 肿 D6D7 80BF E882BF   5456 重 D6D8 91CD E9878D&lt;br /&gt;5457 仲 D6D9 4EF2 E4BBB2   5458 众 D6DA 4F17 E4BC97&lt;br /&gt;5459 舟 D6DB 821F E8889F   5460 周 D6DC 5468 E591A8&lt;br /&gt;5461 州 D6DD 5DDE E5B79E   5462 洲 D6DE 6D32 E6B4B2&lt;br /&gt;5463 诌 D6DF 8BCC E8AF8C   5464 粥 D6E0 7CA5 E7B2A5&lt;br /&gt;5465 轴 D6E1 8F74 E8BDB4   5466 肘 D6E2 8098 E88298&lt;br /&gt;5467 帚 D6E3 5E1A E5B89A   5468 咒 D6E4 5492 E59292&lt;br /&gt;5469 皱 D6E5 76B1 E79AB1   5470 宙 D6E6 5B99 E5AE99&lt;br /&gt;5471 昼 D6E7 663C E698BC   5472 骤 D6E8 9AA4 E9AAA4&lt;br /&gt;5473 珠 D6E9 73E0 E78FA0   5474 株 D6EA 682A E6A0AA&lt;br /&gt;5475 蛛 D6EB 86DB E89B9B   5476 朱 D6EC 6731 E69CB1&lt;br /&gt;5477 猪 D6ED 732A E78CAA   5478 诸 D6EE 8BF8 E8AFB8&lt;br /&gt;5479 诛 D6EF 8BDB E8AF9B   5480 逐 D6F0 9010 E98090&lt;br /&gt;5481 竹 D6F1 7AF9 E7ABB9   5482 烛 D6F2 70DB E7839B&lt;br /&gt;5483 煮 D6F3 716E E785AE   5484 拄 D6F4 62C4 E68B84&lt;br /&gt;5485 瞩 D6F5 77A9 E79EA9   5486 嘱 D6F6 5631 E598B1&lt;br /&gt;5487 主 D6F7 4E3B E4B8BB   5488 著 D6F8 8457 E89197&lt;br /&gt;5489 柱 D6F9 67F1 E69FB1   5490 助 D6FA 52A9 E58AA9&lt;br /&gt;5491 蛀 D6FB 86C0 E89B80   5492 贮 D6FC 8D2E E8B4AE&lt;br /&gt;5493 铸 D6FD 94F8 E993B8   5494 筑 D6FE 7B51 E7AD91&lt;br /&gt;5501 住 D7A1 4F4F E4BD8F   5502 注 D7A2 6CE8 E6B3A8&lt;br /&gt;5503 祝 D7A3 795D E7A59D   5504 驻 D7A4 9A7B E9A9BB&lt;br /&gt;5505 抓 D7A5 6293 E68A93   5506 爪 D7A6 722A E788AA&lt;br /&gt;5507 拽 D7A7 62FD E68BBD   5508 专 D7A8 4E13 E4B893&lt;br /&gt;5509 砖 D7A9 7816 E7A096   5510 转 D7AA 8F6C E8BDAC&lt;br /&gt;5511 撰 D7AB 64B0 E692B0   5512 赚 D7AC 8D5A E8B59A&lt;br /&gt;5513 篆 D7AD 7BC6 E7AF86   5514 桩 D7AE 6869 E6A1A9&lt;br /&gt;5515 庄 D7AF 5E84 E5BA84   5516 装 D7B0 88C5 E8A385&lt;br /&gt;5517 妆 D7B1 5986 E5A686   5518 撞 D7B2 649E E6929E&lt;br /&gt;5519 壮 D7B3 58EE E5A3AE   5520 状 D7B4 72B6 E78AB6&lt;br /&gt;5521 椎 D7B5 690E E6A48E   5522 锥 D7B6 9525 E994A5&lt;br /&gt;5523 追 D7B7 8FFD E8BFBD   5524 赘 D7B8 8D58 E8B598&lt;br /&gt;5525 坠 D7B9 5760 E59DA0   5526 缀 D7BA 7F00 E7BC80&lt;br /&gt;5527 谆 D7BB 8C06 E8B086   5528 准 D7BC 51C6 E58786&lt;br /&gt;5529 捉 D7BD 6349 E68D89   5530 拙 D7BE 62D9 E68B99&lt;br /&gt;5531 卓 D7BF 5353 E58D93   5532 桌 D7C0 684C E6A18C&lt;br /&gt;5533 琢 D7C1 7422 E790A2   5534 茁 D7C2 8301 E88C81&lt;br /&gt;5535 酌 D7C3 914C E9858C   5536 啄 D7C4 5544 E59584&lt;br /&gt;5537 着 D7C5 7740 E79D80   5538 灼 D7C6 707C E781BC&lt;br /&gt;5539 浊 D7C7 6D4A E6B58A   5540 兹 D7C8 5179 E585B9&lt;br /&gt;5541 咨 D7C9 54A8 E592A8   5542 资 D7CA 8D44 E8B584&lt;br /&gt;5543 姿 D7CB 59FF E5A7BF   5544 滋 D7CC 6ECB E6BB8B&lt;br /&gt;5545 淄 D7CD 6DC4 E6B784   5546 孜 D7CE 5B5C E5AD9C&lt;br /&gt;5547 紫 D7CF 7D2B E7B4AB   5548 仔 D7D0 4ED4 E4BB94&lt;br /&gt;5549 籽 D7D1 7C7D E7B1BD   5550 滓 D7D2 6ED3 E6BB93&lt;br /&gt;5551 子 D7D3 5B50 E5AD90   5552 自 D7D4 81EA E887AA&lt;br /&gt;5553 渍 D7D5 6E0D E6B88D   5554 字 D7D6 5B57 E5AD97&lt;br /&gt;5555 鬃 D7D7 9B03 E9AC83   5556 棕 D7D8 68D5 E6A395&lt;br /&gt;5557 踪 D7D9 8E2A E8B8AA   5558 宗 D7DA 5B97 E5AE97&lt;br /&gt;5559 综 D7DB 7EFC E7BBBC   5560 总 D7DC 603B E680BB&lt;br /&gt;5561 纵 D7DD 7EB5 E7BAB5   5562 邹 D7DE 90B9 E982B9&lt;br /&gt;5563 走 D7DF 8D70 E8B5B0   5564 奏 D7E0 594F E5A58F&lt;br /&gt;5565 揍 D7E1 63CD E68F8D   5566 租 D7E2 79DF E7A79F&lt;br /&gt;5567 足 D7E3 8DB3 E8B6B3   5568 卒 D7E4 5352 E58D92&lt;br /&gt;5569 族 D7E5 65CF E6978F   5570 祖 D7E6 7956 E7A596&lt;br /&gt;5571 诅 D7E7 8BC5 E8AF85   5572 阻 D7E8 963B E998BB&lt;br /&gt;5573 组 D7E9 7EC4 E7BB84   5574 钻 D7EA 94BB E992BB&lt;br /&gt;5575 纂 D7EB 7E82 E7BA82   5576 嘴 D7EC 5634 E598B4&lt;br /&gt;5577 醉 D7ED 9189 E98689   5578 最 D7EE 6700 E69C80&lt;br /&gt;5579 罪 D7EF 7F6A E7BDAA   5580 尊 D7F0 5C0A E5B08A&lt;br /&gt;5581 遵 D7F1 9075 E981B5   5582 昨 D7F2 6628 E698A8&lt;br /&gt;5583 左 D7F3 5DE6 E5B7A6   5584 佐 D7F4 4F50 E4BD90&lt;br /&gt;5585 柞 D7F5 67DE E69F9E   5586 做 D7F6 505A E5819A&lt;br /&gt;5587 作 D7F7 4F5C E4BD9C   5588 坐 D7F8 5750 E59D90&lt;br /&gt;5589 座 D7F9 5EA7 E5BAA7   5590 　 null null null  &lt;br /&gt;5591 　 null null null     5592 　 null null null  &lt;br /&gt;5593 　 null null null     5594 　 null null null  &lt;br /&gt;5601 亍 D8A1 4E8D E4BA8D   5602 丌 D8A2 4E0C E4B88C&lt;br /&gt;5603 兀 D8A3 5140 E58580   5604 丐 D8A4 4E10 E4B890&lt;br /&gt;5605 廿 D8A5 5EFF E5BBBF   5606 卅 D8A6 5345 E58D85&lt;br /&gt;5607 丕 D8A7 4E15 E4B895   5608 亘 D8A8 4E98 E4BA98&lt;br /&gt;5609 丞 D8A9 4E1E E4B89E   5610 鬲 D8AA 9B32 E9ACB2&lt;br /&gt;5611 孬 D8AB 5B6C E5ADAC   5612 噩 D8AC 5669 E599A9&lt;br /&gt;5613 丨 D8AD 4E28 E4B8A8   5614 禺 D8AE 79BA E7A6BA&lt;br /&gt;5615 丿 D8AF 4E3F E4B8BF   5616 匕 D8B0 5315 E58C95&lt;br /&gt;5617 乇 D8B1 4E47 E4B987   5618 夭 D8B2 592D E5A4AD&lt;br /&gt;5619 爻 D8B3 723B E788BB   5620 卮 D8B4 536E E58DAE&lt;br /&gt;5621 氐 D8B5 6C10 E6B090   5622 囟 D8B6 56DF E59B9F&lt;br /&gt;5623 胤 D8B7 80E4 E883A4   5624 馗 D8B8 9997 E9A697&lt;br /&gt;5625 毓 D8B9 6BD3 E6AF93   5626 睾 D8BA 777E E79DBE&lt;br /&gt;5627 鼗 D8BB 9F17 E9BC97   5628 丶 D8BC 4E36 E4B8B6&lt;br /&gt;5629 亟 D8BD 4E9F E4BA9F   5630 鼐 D8BE 9F10 E9BC90&lt;br /&gt;5631 乜 D8BF 4E5C E4B99C   5632 乩 D8C0 4E69 E4B9A9&lt;br /&gt;5633 亓 D8C1 4E93 E4BA93   5634 芈 D8C2 8288 E88A88&lt;br /&gt;5635 孛 D8C3 5B5B E5AD9B   5636 啬 D8C4 556C E595AC&lt;br /&gt;5637 嘏 D8C5 560F E5988F   5638 仄 D8C6 4EC4 E4BB84&lt;br /&gt;5639 厍 D8C7 538D E58E8D   5640 厝 D8C8 539D E58E9D&lt;br /&gt;5641 厣 D8C9 53A3 E58EA3   5642 厥 D8CA 53A5 E58EA5&lt;br /&gt;5643 厮 D8CB 53AE E58EAE   5644 靥 D8CC 9765 E99DA5&lt;br /&gt;5645 赝 D8CD 8D5D E8B59D   5646 匚 D8CE 531A E58C9A&lt;br /&gt;5647 叵 D8CF 53F5 E58FB5   5648 匦 D8D0 5326 E58CA6&lt;br /&gt;5649 匮 D8D1 532E E58CAE   5650 匾 D8D2 533E E58CBE&lt;br /&gt;5651 赜 D8D3 8D5C E8B59C   5652 卦 D8D4 5366 E58DA6&lt;br /&gt;5653 卣 D8D5 5363 E58DA3   5654 刂 D8D6 5202 E58882&lt;br /&gt;5655 刈 D8D7 5208 E58888   5656 刎 D8D8 520E E5888E&lt;br /&gt;5657 刭 D8D9 522D E588AD   5658 刳 D8DA 5233 E588B3&lt;br /&gt;5659 刿 D8DB 523F E588BF   5660 剀 D8DC 5240 E58980&lt;br /&gt;5661 剌 D8DD 524C E5898C   5662 剞 D8DE 525E E5899E&lt;br /&gt;5663 剡 D8DF 5261 E589A1   5664 剜 D8E0 525C E5899C&lt;br /&gt;5665 蒯 D8E1 84AF E892AF   5666 剽 D8E2 527D E589BD&lt;br /&gt;5667 劂 D8E3 5282 E58A82   5668 劁 D8E4 5281 E58A81&lt;br /&gt;5669 劐 D8E5 5290 E58A90   5670 劓 D8E6 5293 E58A93&lt;br /&gt;5671 冂 D8E7 5182 E58682   5672 罔 D8E8 7F54 E7BD94&lt;br /&gt;5673 亻 D8E9 4EBB E4BABB   5674 仃 D8EA 4EC3 E4BB83&lt;br /&gt;5675 仉 D8EB 4EC9 E4BB89   5676 仂 D8EC 4EC2 E4BB82&lt;br /&gt;5677 仨 D8ED 4EE8 E4BBA8   5678 仡 D8EE 4EE1 E4BBA1&lt;br /&gt;5679 仫 D8EF 4EEB E4BBAB   5680 仞 D8F0 4EDE E4BB9E&lt;br /&gt;5681 伛 D8F1 4F1B E4BC9B   5682 仳 D8F2 4EF3 E4BBB3&lt;br /&gt;5683 伢 D8F3 4F22 E4BCA2   5684 佤 D8F4 4F64 E4BDA4&lt;br /&gt;5685 仵 D8F5 4EF5 E4BBB5   5686 伥 D8F6 4F25 E4BCA5&lt;br /&gt;5687 伧 D8F7 4F27 E4BCA7   5688 伉 D8F8 4F09 E4BC89&lt;br /&gt;5689 伫 D8F9 4F2B E4BCAB   5690 佞 D8FA 4F5E E4BD9E&lt;br /&gt;5691 佧 D8FB 4F67 E4BDA7   5692 攸 D8FC 6538 E694B8&lt;br /&gt;5693 佚 D8FD 4F5A E4BD9A   5694 佝 D8FE 4F5D E4BD9D&lt;br /&gt;5701 佟 D9A1 4F5F E4BD9F   5702 佗 D9A2 4F57 E4BD97&lt;br /&gt;5703 伲 D9A3 4F32 E4BCB2   5704 伽 D9A4 4F3D E4BCBD&lt;br /&gt;5705 佶 D9A5 4F76 E4BDB6   5706 佴 D9A6 4F74 E4BDB4&lt;br /&gt;5707 侑 D9A7 4F91 E4BE91   5708 侉 D9A8 4F89 E4BE89&lt;br /&gt;5709 侃 D9A9 4F83 E4BE83   5710 侏 D9AA 4F8F E4BE8F&lt;br /&gt;5711 佾 D9AB 4F7E E4BDBE   5712 佻 D9AC 4F7B E4BDBB&lt;br /&gt;5713 侪 D9AD 4FAA E4BEAA   5714 佼 D9AE 4F7C E4BDBC&lt;br /&gt;5715 侬 D9AF 4FAC E4BEAC   5716 侔 D9B0 4F94 E4BE94&lt;br /&gt;5717 俦 D9B1 4FE6 E4BFA6   5718 俨 D9B2 4FE8 E4BFA8&lt;br /&gt;5719 俪 D9B3 4FEA E4BFAA   5720 俅 D9B4 4FC5 E4BF85&lt;br /&gt;5721 俚 D9B5 4FDA E4BF9A   5722 俣 D9B6 4FE3 E4BFA3&lt;br /&gt;5723 俜 D9B7 4FDC E4BF9C   5724 俑 D9B8 4FD1 E4BF91&lt;br /&gt;5725 俟 D9B9 4FDF E4BF9F   5726 俸 D9BA 4FF8 E4BFB8&lt;br /&gt;5727 倩 D9BB 5029 E580A9   5728 偌 D9BC 504C E5818C&lt;br /&gt;5729 俳 D9BD 4FF3 E4BFB3   5730 倬 D9BE 502C E580AC&lt;br /&gt;5731 倏 D9BF 500F E5808F   5732 倮 D9C0 502E E580AE&lt;br /&gt;5733 倭 D9C1 502D E580AD   5734 俾 D9C2 4FFE E4BFBE&lt;br /&gt;5735 倜 D9C3 501C E5809C   5736 倌 D9C4 500C E5808C&lt;br /&gt;5737 倥 D9C5 5025 E580A5   5738 倨 D9C6 5028 E580A8&lt;br /&gt;5739 偾 D9C7 507E E581BE   5740 偃 D9C8 5043 E58183&lt;br /&gt;5741 偕 D9C9 5055 E58195   5742 偈 D9CA 5048 E58188&lt;br /&gt;5743 偎 D9CB 504E E5818E   5744 偬 D9CC 506C E581AC&lt;br /&gt;5745 偻 D9CD 507B E581BB   5746 傥 D9CE 50A5 E582A5&lt;br /&gt;5747 傧 D9CF 50A7 E582A7   5748 傩 D9D0 50A9 E582A9&lt;br /&gt;5749 傺 D9D1 50BA E582BA   5750 僖 D9D2 50D6 E58396&lt;br /&gt;5751 儆 D9D3 5106 E58486   5752 僭 D9D4 50ED E583AD&lt;br /&gt;5753 僬 D9D5 50EC E583AC   5754 僦 D9D6 50E6 E583A6&lt;br /&gt;5755 僮 D9D7 50EE E583AE   5756 儇 D9D8 5107 E58487&lt;br /&gt;5757 儋 D9D9 510B E5848B   5758 仝 D9DA 4EDD E4BB9D&lt;br /&gt;5759 氽 D9DB 6C3D E6B0BD   5760 佘 D9DC 4F58 E4BD98&lt;br /&gt;5761 佥 D9DD 4F65 E4BDA5   5762 俎 D9DE 4FCE E4BF8E&lt;br /&gt;5763 龠 D9DF 9FA0 E9BEA0   5764 汆 D9E0 6C46 E6B186&lt;br /&gt;5765 籴 D9E1 7C74 E7B1B4   5766 兮 D9E2 516E E585AE&lt;br /&gt;5767 巽 D9E3 5DFD E5B7BD   5768 黉 D9E4 9EC9 E9BB89&lt;br /&gt;5769 馘 D9E5 9998 E9A698   5770 冁 D9E6 5181 E58681&lt;br /&gt;5771 夔 D9E7 5914 E5A494   5772 勹 D9E8 52F9 E58BB9&lt;br /&gt;5773 匍 D9E9 530D E58C8D   5774 訇 D9EA 8A07 E8A887&lt;br /&gt;5775 匐 D9EB 5310 E58C90   5776 凫 D9EC 51EB E587AB&lt;br /&gt;5777 夙 D9ED 5919 E5A499   5778 兕 D9EE 5155 E58595&lt;br /&gt;5779 亠 D9EF 4EA0 E4BAA0   5780 兖 D9F0 5156 E58596&lt;br /&gt;5781 亳 D9F1 4EB3 E4BAB3   5782 衮 D9F2 886E E8A1AE&lt;br /&gt;5783 袤 D9F3 88A4 E8A2A4   5784 亵 D9F4 4EB5 E4BAB5&lt;br /&gt;5785 脔 D9F5 8114 E88494   5786 裒 D9F6 88D2 E8A392&lt;br /&gt;5787 禀 D9F7 7980 E7A680   5788 嬴 D9F8 5B34 E5ACB4&lt;br /&gt;5789 蠃 D9F9 8803 E8A083   5790 羸 D9FA 7FB8 E7BEB8&lt;br /&gt;5791 冫 D9FB 51AB E586AB   5792 冱 D9FC 51B1 E586B1&lt;br /&gt;5793 冽 D9FD 51BD E586BD   5794 冼 D9FE 51BC E586BC&lt;br /&gt;5801 凇 DAA1 51C7 E58787   5802 冖 DAA2 5196 E58696&lt;br /&gt;5803 冢 DAA3 51A2 E586A2   5804 冥 DAA4 51A5 E586A5&lt;br /&gt;5805 讠 DAA5 8BA0 E8AEA0   5806 讦 DAA6 8BA6 E8AEA6&lt;br /&gt;5807 讧 DAA7 8BA7 E8AEA7   5808 讪 DAA8 8BAA E8AEAA&lt;br /&gt;5809 讴 DAA9 8BB4 E8AEB4   5810 讵 DAAA 8BB5 E8AEB5&lt;br /&gt;5811 讷 DAAB 8BB7 E8AEB7   5812 诂 DAAC 8BC2 E8AF82&lt;br /&gt;5813 诃 DAAD 8BC3 E8AF83   5814 诋 DAAE 8BCB E8AF8B&lt;br /&gt;5815 诏 DAAF 8BCF E8AF8F   5816 诎 DAB0 8BCE E8AF8E&lt;br /&gt;5817 诒 DAB1 8BD2 E8AF92   5818 诓 DAB2 8BD3 E8AF93&lt;br /&gt;5819 诔 DAB3 8BD4 E8AF94   5820 诖 DAB4 8BD6 E8AF96&lt;br /&gt;5821 诘 DAB5 8BD8 E8AF98   5822 诙 DAB6 8BD9 E8AF99&lt;br /&gt;5823 诜 DAB7 8BDC E8AF9C   5824 诟 DAB8 8BDF E8AF9F&lt;br /&gt;5825 诠 DAB9 8BE0 E8AFA0   5826 诤 DABA 8BE4 E8AFA4&lt;br /&gt;5827 诨 DABB 8BE8 E8AFA8   5828 诩 DABC 8BE9 E8AFA9&lt;br /&gt;5829 诮 DABD 8BEE E8AFAE   5830 诰 DABE 8BF0 E8AFB0&lt;br /&gt;5831 诳 DABF 8BF3 E8AFB3   5832 诶 DAC0 8BF6 E8AFB6&lt;br /&gt;5833 诹 DAC1 8BF9 E8AFB9   5834 诼 DAC2 8BFC E8AFBC&lt;br /&gt;5835 诿 DAC3 8BFF E8AFBF   5836 谀 DAC4 8C00 E8B080&lt;br /&gt;5837 谂 DAC5 8C02 E8B082   5838 谄 DAC6 8C04 E8B084&lt;br /&gt;5839 谇 DAC7 8C07 E8B087   5840 谌 DAC8 8C0C E8B08C&lt;br /&gt;5841 谏 DAC9 8C0F E8B08F   5842 谑 DACA 8C11 E8B091&lt;br /&gt;5843 谒 DACB 8C12 E8B092   5844 谔 DACC 8C14 E8B094&lt;br /&gt;5845 谕 DACD 8C15 E8B095   5846 谖 DACE 8C16 E8B096&lt;br /&gt;5847 谙 DACF 8C19 E8B099   5848 谛 DAD0 8C1B E8B09B&lt;br /&gt;5849 谘 DAD1 8C18 E8B098   5850 谝 DAD2 8C1D E8B09D&lt;br /&gt;5851 谟 DAD3 8C1F E8B09F   5852 谠 DAD4 8C20 E8B0A0&lt;br /&gt;5853 谡 DAD5 8C21 E8B0A1   5854 谥 DAD6 8C25 E8B0A5&lt;br /&gt;5855 谧 DAD7 8C27 E8B0A7   5856 谪 DAD8 8C2A E8B0AA&lt;br /&gt;5857 谫 DAD9 8C2B E8B0AB   5858 谮 DADA 8C2E E8B0AE&lt;br /&gt;5859 谯 DADB 8C2F E8B0AF   5860 谲 DADC 8C32 E8B0B2&lt;br /&gt;5861 谳 DADD 8C33 E8B0B3   5862 谵 DADE 8C35 E8B0B5&lt;br /&gt;5863 谶 DADF 8C36 E8B0B6   5864 卩 DAE0 5369 E58DA9&lt;br /&gt;5865 卺 DAE1 537A E58DBA   5866 阝 DAE2 961D E9989D&lt;br /&gt;5867 阢 DAE3 9622 E998A2   5868 阡 DAE4 9621 E998A1&lt;br /&gt;5869 阱 DAE5 9631 E998B1   5870 阪 DAE6 962A E998AA&lt;br /&gt;5871 阽 DAE7 963D E998BD   5872 阼 DAE8 963C E998BC&lt;br /&gt;5873 陂 DAE9 9642 E99982   5874 陉 DAEA 9649 E99989&lt;br /&gt;5875 陔 DAEB 9654 E99994   5876 陟 DAEC 965F E9999F&lt;br /&gt;5877 陧 DAED 9667 E999A7   5878 陬 DAEE 966C E999AC&lt;br /&gt;5879 陲 DAEF 9672 E999B2   5880 陴 DAF0 9674 E999B4&lt;br /&gt;5881 隈 DAF1 9688 E99A88   5882 隍 DAF2 968D E99A8D&lt;br /&gt;5883 隗 DAF3 9697 E99A97   5884 隰 DAF4 96B0 E99AB0&lt;br /&gt;5885 邗 DAF5 9097 E98297   5886 邛 DAF6 909B E9829B&lt;br /&gt;5887 邝 DAF7 909D E9829D   5888 邙 DAF8 9099 E98299&lt;br /&gt;5889 邬 DAF9 90AC E982AC   5890 邡 DAFA 90A1 E982A1&lt;br /&gt;5891 邴 DAFB 90B4 E982B4   5892 邳 DAFC 90B3 E982B3&lt;br /&gt;5893 邶 DAFD 90B6 E982B6   5894 邺 DAFE 90BA E982BA&lt;br /&gt;5901 邸 DBA1 90B8 E982B8   5902 邰 DBA2 90B0 E982B0&lt;br /&gt;5903 郏 DBA3 90CF E9838F   5904 郅 DBA4 90C5 E98385&lt;br /&gt;5905 邾 DBA5 90BE E982BE   5906 郐 DBA6 90D0 E98390&lt;br /&gt;5907 郄 DBA7 90C4 E98384   5908 郇 DBA8 90C7 E98387&lt;br /&gt;5909 郓 DBA9 90D3 E98393   5910 郦 DBAA 90E6 E983A6&lt;br /&gt;5911 郢 DBAB 90E2 E983A2   5912 郜 DBAC 90DC E9839C&lt;br /&gt;5913 郗 DBAD 90D7 E98397   5914 郛 DBAE 90DB E9839B&lt;br /&gt;5915 郫 DBAF 90EB E983AB   5916 郯 DBB0 90EF E983AF&lt;br /&gt;5917 郾 DBB1 90FE E983BE   5918 鄄 DBB2 9104 E98484&lt;br /&gt;5919 鄢 DBB3 9122 E984A2   5920 鄞 DBB4 911E E9849E&lt;br /&gt;5921 鄣 DBB5 9123 E984A3   5922 鄱 DBB6 9131 E984B1&lt;br /&gt;5923 鄯 DBB7 912F E984AF   5924 鄹 DBB8 9139 E984B9&lt;br /&gt;5925 酃 DBB9 9143 E98583   5926 酆 DBBA 9146 E98586&lt;br /&gt;5927 刍 DBBB 520D E5888D   5928 奂 DBBC 5942 E5A582&lt;br /&gt;5929 劢 DBBD 52A2 E58AA2   5930 劬 DBBE 52AC E58AAC&lt;br /&gt;5931 劭 DBBF 52AD E58AAD   5932 劾 DBC0 52BE E58ABE&lt;br /&gt;5933 哿 DBC1 54FF E593BF   5934 勐 DBC2 52D0 E58B90&lt;br /&gt;5935 勖 DBC3 52D6 E58B96   5936 勰 DBC4 52F0 E58BB0&lt;br /&gt;5937 叟 DBC5 53DF E58F9F   5938 燮 DBC6 71EE E787AE&lt;br /&gt;5939 矍 DBC7 77CD E79F8D   5940 廴 DBC8 5EF4 E5BBB4&lt;br /&gt;5941 凵 DBC9 51F5 E587B5   5942 凼 DBCA 51FC E587BC&lt;br /&gt;5943 鬯 DBCB 9B2F E9ACAF   5944 厶 DBCC 53B6 E58EB6&lt;br /&gt;5945 弁 DBCD 5F01 E5BC81   5946 畚 DBCE 755A E7959A&lt;br /&gt;5947 巯 DBCF 5DEF E5B7AF   5948 坌 DBD0 574C E59D8C&lt;br /&gt;5949 垩 DBD1 57A9 E59EA9   5950 垡 DBD2 57A1 E59EA1&lt;br /&gt;5951 塾 DBD3 587E E5A1BE   5952 墼 DBD4 58BC E5A2BC&lt;br /&gt;5953 壅 DBD5 58C5 E5A385   5954 壑 DBD6 58D1 E5A391&lt;br /&gt;5955 圩 DBD7 5729 E59CA9   5956 圬 DBD8 572C E59CAC&lt;br /&gt;5957 圪 DBD9 572A E59CAA   5958 圳 DBDA 5733 E59CB3&lt;br /&gt;5959 圹 DBDB 5739 E59CB9   5960 圮 DBDC 572E E59CAE&lt;br /&gt;5961 圯 DBDD 572F E59CAF   5962 坜 DBDE 575C E59D9C&lt;br /&gt;5963 圻 DBDF 573B E59CBB   5964 坂 DBE0 5742 E59D82&lt;br /&gt;5965 坩 DBE1 5769 E59DA9   5966 垅 DBE2 5785 E59E85&lt;br /&gt;5967 坫 DBE3 576B E59DAB   5968 垆 DBE4 5786 E59E86&lt;br /&gt;5969 坼 DBE5 577C E59DBC   5970 坻 DBE6 577B E59DBB&lt;br /&gt;5971 坨 DBE7 5768 E59DA8   5972 坭 DBE8 576D E59DAD&lt;br /&gt;5973 坶 DBE9 5776 E59DB6   5974 坳 DBEA 5773 E59DB3&lt;br /&gt;5975 垭 DBEB 57AD E59EAD   5976 垤 DBEC 57A4 E59EA4&lt;br /&gt;5977 垌 DBED 578C E59E8C   5978 垲 DBEE 57B2 E59EB2&lt;br /&gt;5979 埏 DBEF 57CF E59F8F   5980 垧 DBF0 57A7 E59EA7&lt;br /&gt;5981 垴 DBF1 57B4 E59EB4   5982 垓 DBF2 5793 E59E93&lt;br /&gt;5983 垠 DBF3 57A0 E59EA0   5984 埕 DBF4 57D5 E59F95&lt;br /&gt;5985 埘 DBF5 57D8 E59F98   5986 埚 DBF6 57DA E59F9A&lt;br /&gt;5987 埙 DBF7 57D9 E59F99   5988 埒 DBF8 57D2 E59F92&lt;br /&gt;5989 垸 DBF9 57B8 E59EB8   5990 埴 DBFA 57F4 E59FB4&lt;br /&gt;5991 埯 DBFB 57EF E59FAF   5992 埸 DBFC 57F8 E59FB8&lt;br /&gt;5993 埤 DBFD 57E4 E59FA4   5994 埝 DBFE 57DD E59F9D&lt;br /&gt;6001 堋 DCA1 580B E5A08B   6002 堍 DCA2 580D E5A08D&lt;br /&gt;6003 埽 DCA3 57FD E59FBD   6004 埭 DCA4 57ED E59FAD&lt;br /&gt;6005 堀 DCA5 5800 E5A080   6006 堞 DCA6 581E E5A09E&lt;br /&gt;6007 堙 DCA7 5819 E5A099   6008 塄 DCA8 5844 E5A184&lt;br /&gt;6009 堠 DCA9 5820 E5A0A0   6010 塥 DCAA 5865 E5A1A5&lt;br /&gt;6011 塬 DCAB 586C E5A1AC   6012 墁 DCAC 5881 E5A281&lt;br /&gt;6013 墉 DCAD 5889 E5A289   6014 墚 DCAE 589A E5A29A&lt;br /&gt;6015 墀 DCAF 5880 E5A280   6016 馨 DCB0 99A8 E9A6A8&lt;br /&gt;6017 鼙 DCB1 9F19 E9BC99   6018 懿 DCB2 61FF E687BF&lt;br /&gt;6019 艹 DCB3 8279 E889B9   6020 艽 DCB4 827D E889BD&lt;br /&gt;6021 艿 DCB5 827F E889BF   6022 芏 DCB6 828F E88A8F&lt;br /&gt;6023 芊 DCB7 828A E88A8A   6024 芨 DCB8 82A8 E88AA8&lt;br /&gt;6025 芄 DCB9 8284 E88A84   6026 芎 DCBA 828E E88A8E&lt;br /&gt;6027 芑 DCBB 8291 E88A91   6028 芗 DCBC 8297 E88A97&lt;br /&gt;6029 芙 DCBD 8299 E88A99   6030 芫 DCBE 82AB E88AAB&lt;br /&gt;6031 芸 DCBF 82B8 E88AB8   6032 芾 DCC0 82BE E88ABE&lt;br /&gt;6033 芰 DCC1 82B0 E88AB0   6034 苈 DCC2 82C8 E88B88&lt;br /&gt;6035 苊 DCC3 82CA E88B8A   6036 苣 DCC4 82E3 E88BA3&lt;br /&gt;6037 芘 DCC5 8298 E88A98   6038 芷 DCC6 82B7 E88AB7&lt;br /&gt;6039 芮 DCC7 82AE E88AAE   6040 苋 DCC8 82CB E88B8B&lt;br /&gt;6041 苌 DCC9 82CC E88B8C   6042 苁 DCCA 82C1 E88B81&lt;br /&gt;6043 芩 DCCB 82A9 E88AA9   6044 芴 DCCC 82B4 E88AB4&lt;br /&gt;6045 芡 DCCD 82A1 E88AA1   6046 芪 DCCE 82AA E88AAA&lt;br /&gt;6047 芟 DCCF 829F E88A9F   6048 苄 DCD0 82C4 E88B84&lt;br /&gt;6049 苎 DCD1 82CE E88B8E   6050 芤 DCD2 82A4 E88AA4&lt;br /&gt;6051 苡 DCD3 82E1 E88BA1   6052 茉 DCD4 8309 E88C89&lt;br /&gt;6053 苷 DCD5 82F7 E88BB7   6054 苤 DCD6 82E4 E88BA4&lt;br /&gt;6055 茏 DCD7 830F E88C8F   6056 茇 DCD8 8307 E88C87&lt;br /&gt;6057 苜 DCD9 82DC E88B9C   6058 苴 DCDA 82F4 E88BB4&lt;br /&gt;6059 苒 DCDB 82D2 E88B92   6060 苘 DCDC 82D8 E88B98&lt;br /&gt;6061 茌 DCDD 830C E88C8C   6062 苻 DCDE 82FB E88BBB&lt;br /&gt;6063 苓 DCDF 82D3 E88B93   6064 茑 DCE0 8311 E88C91&lt;br /&gt;6065 茚 DCE1 831A E88C9A   6066 茆 DCE2 8306 E88C86&lt;br /&gt;6067 茔 DCE3 8314 E88C94   6068 茕 DCE4 8315 E88C95&lt;br /&gt;6069 苠 DCE5 82E0 E88BA0   6070 苕 DCE6 82D5 E88B95&lt;br /&gt;6071 茜 DCE7 831C E88C9C   6072 荑 DCE8 8351 E88D91&lt;br /&gt;6073 荛 DCE9 835B E88D9B   6074 荜 DCEA 835C E88D9C&lt;br /&gt;6075 茈 DCEB 8308 E88C88   6076 莒 DCEC 8392 E88E92&lt;br /&gt;6077 茼 DCED 833C E88CBC   6078 茴 DCEE 8334 E88CB4&lt;br /&gt;6079 茱 DCEF 8331 E88CB1   6080 莛 DCF0 839B E88E9B&lt;br /&gt;6081 荞 DCF1 835E E88D9E   6082 茯 DCF2 832F E88CAF&lt;br /&gt;6083 荏 DCF3 834F E88D8F   6084 荇 DCF4 8347 E88D87&lt;br /&gt;6085 荃 DCF5 8343 E88D83   6086 荟 DCF6 835F E88D9F&lt;br /&gt;6087 荀 DCF7 8340 E88D80   6088 茗 DCF8 8317 E88C97&lt;br /&gt;6089 荠 DCF9 8360 E88DA0   6090 茭 DCFA 832D E88CAD&lt;br /&gt;6091 茺 DCFB 833A E88CBA   6092 茳 DCFC 8333 E88CB3&lt;br /&gt;6093 荦 DCFD 8366 E88DA6   6094 荥 DCFE 8365 E88DA5&lt;br /&gt;6101 荨 DDA1 8368 E88DA8   6102 茛 DDA2 831B E88C9B&lt;br /&gt;6103 荩 DDA3 8369 E88DA9   6104 荬 DDA4 836C E88DAC&lt;br /&gt;6105 荪 DDA5 836A E88DAA   6106 荭 DDA6 836D E88DAD&lt;br /&gt;6107 荮 DDA7 836E E88DAE   6108 莰 DDA8 83B0 E88EB0&lt;br /&gt;6109 荸 DDA9 8378 E88DB8   6110 莳 DDAA 83B3 E88EB3&lt;br /&gt;6111 莴 DDAB 83B4 E88EB4   6112 莠 DDAC 83A0 E88EA0&lt;br /&gt;6113 莪 DDAD 83AA E88EAA   6114 莓 DDAE 8393 E88E93&lt;br /&gt;6115 莜 DDAF 839C E88E9C   6116 莅 DDB0 8385 E88E85&lt;br /&gt;6117 荼 DDB1 837C E88DBC   6118 莶 DDB2 83B6 E88EB6&lt;br /&gt;6119 莩 DDB3 83A9 E88EA9   6120 荽 DDB4 837D E88DBD&lt;br /&gt;6121 莸 DDB5 83B8 E88EB8   6122 荻 DDB6 837B E88DBB&lt;br /&gt;6123 莘 DDB7 8398 E88E98   6124 莞 DDB8 839E E88E9E&lt;br /&gt;6125 莨 DDB9 83A8 E88EA8   6126 莺 DDBA 83BA E88EBA&lt;br /&gt;6127 莼 DDBB 83BC E88EBC   6128 菁 DDBC 83C1 E88F81&lt;br /&gt;6129 萁 DDBD 8401 E89081   6130 菥 DDBE 83E5 E88FA5&lt;br /&gt;6131 菘 DDBF 83D8 E88F98   6132 堇 DDC0 5807 E5A087&lt;br /&gt;6133 萘 DDC1 8418 E89098   6134 萋 DDC2 840B E8908B&lt;br /&gt;6135 菝 DDC3 83DD E88F9D   6136 菽 DDC4 83FD E88FBD&lt;br /&gt;6137 菖 DDC5 83D6 E88F96   6138 萜 DDC6 841C E8909C&lt;br /&gt;6139 萸 DDC7 8438 E890B8   6140 萑 DDC8 8411 E89091&lt;br /&gt;6141 萆 DDC9 8406 E89086   6142 菔 DDCA 83D4 E88F94&lt;br /&gt;6143 菟 DDCB 83DF E88F9F   6144 萏 DDCC 840F E8908F&lt;br /&gt;6145 萃 DDCD 8403 E89083   6146 菸 DDCE 83F8 E88FB8&lt;br /&gt;6147 菹 DDCF 83F9 E88FB9   6148 菪 DDD0 83EA E88FAA&lt;br /&gt;6149 菅 DDD1 83C5 E88F85   6150 菀 DDD2 83C0 E88F80&lt;br /&gt;6151 萦 DDD3 8426 E890A6   6152 菰 DDD4 83F0 E88FB0&lt;br /&gt;6153 菡 DDD5 83E1 E88FA1   6154 葜 DDD6 845C E8919C&lt;br /&gt;6155 葑 DDD7 8451 E89191   6156 葚 DDD8 845A E8919A&lt;br /&gt;6157 葙 DDD9 8459 E89199   6158 葳 DDDA 8473 E891B3&lt;br /&gt;6159 蒇 DDDB 8487 E89287   6160 蒈 DDDC 8488 E89288&lt;br /&gt;6161 葺 DDDD 847A E891BA   6162 蒉 DDDE 8489 E89289&lt;br /&gt;6163 葸 DDDF 8478 E891B8   6164 萼 DDE0 843C E890BC&lt;br /&gt;6165 葆 DDE1 8446 E89186   6166 葩 DDE2 8469 E891A9&lt;br /&gt;6167 葶 DDE3 8476 E891B6   6168 蒌 DDE4 848C E8928C&lt;br /&gt;6169 蒎 DDE5 848E E8928E   6170 萱 DDE6 8431 E890B1&lt;br /&gt;6171 葭 DDE7 846D E891AD   6172 蓁 DDE8 84C1 E89381&lt;br /&gt;6173 蓍 DDE9 84CD E8938D   6174 蓐 DDEA 84D0 E89390&lt;br /&gt;6175 蓦 DDEB 84E6 E893A6   6176 蒽 DDEC 84BD E892BD&lt;br /&gt;6177 蓓 DDED 84D3 E89393   6178 蓊 DDEE 84CA E8938A&lt;br /&gt;6179 蒿 DDEF 84BF E892BF   6180 蒺 DDF0 84BA E892BA&lt;br /&gt;6181 蓠 DDF1 84E0 E893A0   6182 蒡 DDF2 84A1 E892A1&lt;br /&gt;6183 蒹 DDF3 84B9 E892B9   6184 蒴 DDF4 84B4 E892B4&lt;br /&gt;6185 蒗 DDF5 8497 E89297   6186 蓥 DDF6 84E5 E893A5&lt;br /&gt;6187 蓣 DDF7 84E3 E893A3   6188 蔌 DDF8 850C E8948C&lt;br /&gt;6189 甍 DDF9 750D E7948D   6190 蔸 DDFA 8538 E894B8&lt;br /&gt;6191 蓰 DDFB 84F0 E893B0   6192 蔹 DDFC 8539 E894B9&lt;br /&gt;6193 蔟 DDFD 851F E8949F   6194 蔺 DDFE 853A E894BA&lt;br /&gt;6201 蕖 DEA1 8556 E89596   6202 蔻 DEA2 853B E894BB&lt;br /&gt;6203 蓿 DEA3 84FF E893BF   6204 蓼 DEA4 84FC E893BC&lt;br /&gt;6205 蕙 DEA5 8559 E89599   6206 蕈 DEA6 8548 E89588&lt;br /&gt;6207 蕨 DEA7 8568 E895A8   6208 蕤 DEA8 8564 E895A4&lt;br /&gt;6209 蕞 DEA9 855E E8959E   6210 蕺 DEAA 857A E895BA&lt;br /&gt;6211 瞢 DEAB 77A2 E79EA2   6212 蕃 DEAC 8543 E89583&lt;br /&gt;6213 蕲 DEAD 8572 E895B2   6214 蕻 DEAE 857B E895BB&lt;br /&gt;6215 薤 DEAF 85A4 E896A4   6216 薨 DEB0 85A8 E896A8&lt;br /&gt;6217 薇 DEB1 8587 E89687   6218 薏 DEB2 858F E8968F&lt;br /&gt;6219 蕹 DEB3 8579 E895B9   6220 薮 DEB4 85AE E896AE&lt;br /&gt;6221 薜 DEB5 859C E8969C   6222 薅 DEB6 8585 E89685&lt;br /&gt;6223 薹 DEB7 85B9 E896B9   6224 薷 DEB8 85B7 E896B7&lt;br /&gt;6225 薰 DEB9 85B0 E896B0   6226 藓 DEBA 85D3 E89793&lt;br /&gt;6227 藁 DEBB 85C1 E89781   6228 藜 DEBC 85DC E8979C&lt;br /&gt;6229 藿 DEBD 85FF E897BF   6230 蘧 DEBE 8627 E898A7&lt;br /&gt;6231 蘅 DEBF 8605 E89885   6232 蘩 DEC0 8629 E898A9&lt;br /&gt;6233 蘖 DEC1 8616 E89896   6234 蘼 DEC2 863C E898BC&lt;br /&gt;6235 廾 DEC3 5EFE E5BBBE   6236 弈 DEC4 5F08 E5BC88&lt;br /&gt;6237 夼 DEC5 593C E5A4BC   6238 奁 DEC6 5941 E5A581&lt;br /&gt;6239 耷 DEC7 8037 E880B7   6240 奕 DEC8 5955 E5A595&lt;br /&gt;6241 奚 DEC9 595A E5A59A   6242 奘 DECA 5958 E5A598&lt;br /&gt;6243 匏 DECB 530F E58C8F   6244 尢 DECC 5C22 E5B0A2&lt;br /&gt;6245 尥 DECD 5C25 E5B0A5   6246 尬 DECE 5C2C E5B0AC&lt;br /&gt;6247 尴 DECF 5C34 E5B0B4   6248 扌 DED0 624C E6898C&lt;br /&gt;6249 扪 DED1 626A E689AA   6250 抟 DED2 629F E68A9F&lt;br /&gt;6251 抻 DED3 62BB E68ABB   6252 拊 DED4 62CA E68B8A&lt;br /&gt;6253 拚 DED5 62DA E68B9A   6254 拗 DED6 62D7 E68B97&lt;br /&gt;6255 拮 DED7 62EE E68BAE   6256 挢 DED8 6322 E68CA2&lt;br /&gt;6257 拶 DED9 62F6 E68BB6   6258 挹 DEDA 6339 E68CB9&lt;br /&gt;6259 捋 DEDB 634B E68D8B   6260 捃 DEDC 6343 E68D83&lt;br /&gt;6261 掭 DEDD 63AD E68EAD   6262 揶 DEDE 63F6 E68FB6&lt;br /&gt;6263 捱 DEDF 6371 E68DB1   6264 捺 DEE0 637A E68DBA&lt;br /&gt;6265 掎 DEE1 638E E68E8E   6266 掴 DEE2 63B4 E68EB4&lt;br /&gt;6267 捭 DEE3 636D E68DAD   6268 掬 DEE4 63AC E68EAC&lt;br /&gt;6269 掊 DEE5 638A E68E8A   6270 捩 DEE6 6369 E68DA9&lt;br /&gt;6271 掮 DEE7 63AE E68EAE   6272 掼 DEE8 63BC E68EBC&lt;br /&gt;6273 揲 DEE9 63F2 E68FB2   6274 揸 DEEA 63F8 E68FB8&lt;br /&gt;6275 揠 DEEB 63E0 E68FA0   6276 揿 DEEC 63FF E68FBF&lt;br /&gt;6277 揄 DEED 63C4 E68F84   6278 揞 DEEE 63DE E68F9E&lt;br /&gt;6279 揎 DEEF 63CE E68F8E   6280 摒 DEF0 6452 E69192&lt;br /&gt;6281 揆 DEF1 63C6 E68F86   6282 掾 DEF2 63BE E68EBE&lt;br /&gt;6283 摅 DEF3 6445 E69185   6284 摁 DEF4 6441 E69181&lt;br /&gt;6285 搋 DEF5 640B E6908B   6286 搛 DEF6 641B E6909B&lt;br /&gt;6287 搠 DEF7 6420 E690A0   6288 搌 DEF8 640C E6908C&lt;br /&gt;6289 搦 DEF9 6426 E690A6   6290 搡 DEFA 6421 E690A1&lt;br /&gt;6291 摞 DEFB 645E E6919E   6292 撄 DEFC 6484 E69284&lt;br /&gt;6293 摭 DEFD 646D E691AD   6294 撖 DEFE 6496 E69296&lt;br /&gt;6301 摺 DFA1 647A E691BA   6302 撷 DFA2 64B7 E692B7&lt;br /&gt;6303 撸 DFA3 64B8 E692B8   6304 撙 DFA4 6499 E69299&lt;br /&gt;6305 撺 DFA5 64BA E692BA   6306 擀 DFA6 64C0 E69380&lt;br /&gt;6307 擐 DFA7 64D0 E69390   6308 擗 DFA8 64D7 E69397&lt;br /&gt;6309 擤 DFA9 64E4 E693A4   6310 擢 DFAA 64E2 E693A2&lt;br /&gt;6311 攉 DFAB 6509 E69489   6312 攥 DFAC 6525 E694A5&lt;br /&gt;6313 攮 DFAD 652E E694AE   6314 弋 DFAE 5F0B E5BC8B&lt;br /&gt;6315 忒 DFAF 5FD2 E5BF92   6316 甙 DFB0 7519 E79499&lt;br /&gt;6317 弑 DFB1 5F11 E5BC91   6318 卟 DFB2 535F E58D9F&lt;br /&gt;6319 叱 DFB3 53F1 E58FB1   6320 叽 DFB4 53FD E58FBD&lt;br /&gt;6321 叩 DFB5 53E9 E58FA9   6322 叨 DFB6 53E8 E58FA8&lt;br /&gt;6323 叻 DFB7 53FB E58FBB   6324 吒 DFB8 5412 E59092&lt;br /&gt;6325 吖 DFB9 5416 E59096   6326 吆 DFBA 5406 E59086&lt;br /&gt;6327 呋 DFBB 544B E5918B   6328 呒 DFBC 5452 E59192&lt;br /&gt;6329 呓 DFBD 5453 E59193   6330 呔 DFBE 5454 E59194&lt;br /&gt;6331 呖 DFBF 5456 E59196   6332 呃 DFC0 5443 E59183&lt;br /&gt;6333 吡 DFC1 5421 E590A1   6334 呗 DFC2 5457 E59197&lt;br /&gt;6335 呙 DFC3 5459 E59199   6336 吣 DFC4 5423 E590A3&lt;br /&gt;6337 吲 DFC5 5432 E590B2   6338 咂 DFC6 5482 E59282&lt;br /&gt;6339 咔 DFC7 5494 E59294   6340 呷 DFC8 5477 E591B7&lt;br /&gt;6341 呱 DFC9 5471 E591B1   6342 呤 DFCA 5464 E591A4&lt;br /&gt;6343 咚 DFCB 549A E5929A   6344 咛 DFCC 549B E5929B&lt;br /&gt;6345 咄 DFCD 5484 E59284   6346 呶 DFCE 5476 E591B6&lt;br /&gt;6347 呦 DFCF 5466 E591A6   6348 咝 DFD0 549D E5929D&lt;br /&gt;6349 哐 DFD1 54D0 E59390   6350 咭 DFD2 54AD E592AD&lt;br /&gt;6351 哂 DFD3 54C2 E59382   6352 咴 DFD4 54B4 E592B4&lt;br /&gt;6353 哒 DFD5 54D2 E59392   6354 咧 DFD6 54A7 E592A7&lt;br /&gt;6355 咦 DFD7 54A6 E592A6   6356 哓 DFD8 54D3 E59393&lt;br /&gt;6357 哔 DFD9 54D4 E59394   6358 呲 DFDA 5472 E591B2&lt;br /&gt;6359 咣 DFDB 54A3 E592A3   6360 哕 DFDC 54D5 E59395&lt;br /&gt;6361 咻 DFDD 54BB E592BB   6362 咿 DFDE 54BF E592BF&lt;br /&gt;6363 哌 DFDF 54CC E5938C   6364 哙 DFE0 54D9 E59399&lt;br /&gt;6365 哚 DFE1 54DA E5939A   6366 哜 DFE2 54DC E5939C&lt;br /&gt;6367 咩 DFE3 54A9 E592A9   6368 咪 DFE4 54AA E592AA&lt;br /&gt;6369 咤 DFE5 54A4 E592A4   6370 哝 DFE6 54DD E5939D&lt;br /&gt;6371 哏 DFE7 54CF E5938F   6372 哞 DFE8 54DE E5939E&lt;br /&gt;6373 唛 DFE9 551B E5949B   6374 哧 DFEA 54E7 E593A7&lt;br /&gt;6375 唠 DFEB 5520 E594A0   6376 哽 DFEC 54FD E593BD&lt;br /&gt;6377 唔 DFED 5514 E59494   6378 哳 DFEE 54F3 E593B3&lt;br /&gt;6379 唢 DFEF 5522 E594A2   6380 唣 DFF0 5523 E594A3&lt;br /&gt;6381 唏 DFF1 550F E5948F   6382 唑 DFF2 5511 E59491&lt;br /&gt;6383 唧 DFF3 5527 E594A7   6384 唪 DFF4 552A E594AA&lt;br /&gt;6385 啧 DFF5 5567 E595A7   6386 喏 DFF6 558F E5968F&lt;br /&gt;6387 喵 DFF7 55B5 E596B5   6388 啉 DFF8 5549 E59589&lt;br /&gt;6389 啭 DFF9 556D E595AD   6390 啁 DFFA 5541 E59581&lt;br /&gt;6391 啕 DFFB 5555 E59595   6392 唿 DFFC 553F E594BF&lt;br /&gt;6393 啐 DFFD 5550 E59590   6394 唼 DFFE 553C E594BC&lt;br /&gt;6401 唷 E0A1 5537 E594B7   6402 啖 E0A2 5556 E59596&lt;br /&gt;6403 啵 E0A3 5575 E595B5   6404 啶 E0A4 5576 E595B6&lt;br /&gt;6405 啷 E0A5 5577 E595B7   6406 唳 E0A6 5533 E594B3&lt;br /&gt;6407 唰 E0A7 5530 E594B0   6408 啜 E0A8 555C E5959C&lt;br /&gt;6409 喋 E0A9 558B E5968B   6410 嗒 E0AA 55D2 E59792&lt;br /&gt;6411 喃 E0AB 5583 E59683   6412 喱 E0AC 55B1 E596B1&lt;br /&gt;6413 喹 E0AD 55B9 E596B9   6414 喈 E0AE 5588 E59688&lt;br /&gt;6415 喁 E0AF 5581 E59681   6416 喟 E0B0 559F E5969F&lt;br /&gt;6417 啾 E0B1 557E E595BE   6418 嗖 E0B2 55D6 E59796&lt;br /&gt;6419 喑 E0B3 5591 E59691   6420 啻 E0B4 557B E595BB&lt;br /&gt;6421 嗟 E0B5 55DF E5979F   6422 喽 E0B6 55BD E596BD&lt;br /&gt;6423 喾 E0B7 55BE E596BE   6424 喔 E0B8 5594 E59694&lt;br /&gt;6425 喙 E0B9 5599 E59699   6426 嗪 E0BA 55EA E597AA&lt;br /&gt;6427 嗷 E0BB 55F7 E597B7   6428 嗉 E0BC 55C9 E59789&lt;br /&gt;6429 嘟 E0BD 561F E5989F   6430 嗑 E0BE 55D1 E59791&lt;br /&gt;6431 嗫 E0BF 55EB E597AB   6432 嗬 E0C0 55EC E597AC&lt;br /&gt;6433 嗔 E0C1 55D4 E59794   6434 嗦 E0C2 55E6 E597A6&lt;br /&gt;6435 嗝 E0C3 55DD E5979D   6436 嗄 E0C4 55C4 E59784&lt;br /&gt;6437 嗯 E0C5 55EF E597AF   6438 嗥 E0C6 55E5 E597A5&lt;br /&gt;6439 嗲 E0C7 55F2 E597B2   6440 嗳 E0C8 55F3 E597B3&lt;br /&gt;6441 嗌 E0C9 55CC E5978C   6442 嗍 E0CA 55CD E5978D&lt;br /&gt;6443 嗨 E0CB 55E8 E597A8   6444 嗵 E0CC 55F5 E597B5&lt;br /&gt;6445 嗤 E0CD 55E4 E597A4   6446 辔 E0CE 8F94 E8BE94&lt;br /&gt;6447 嘞 E0CF 561E E5989E   6448 嘈 E0D0 5608 E59888&lt;br /&gt;6449 嘌 E0D1 560C E5988C   6450 嘁 E0D2 5601 E59881&lt;br /&gt;6451 嘤 E0D3 5624 E598A4   6452 嘣 E0D4 5623 E598A3&lt;br /&gt;6453 嗾 E0D5 55FE E597BE   6454 嘀 E0D6 5600 E59880&lt;br /&gt;6455 嘧 E0D7 5627 E598A7   6456 嘭 E0D8 562D E598AD&lt;br /&gt;6457 噘 E0D9 5658 E59998   6458 嘹 E0DA 5639 E598B9&lt;br /&gt;6459 噗 E0DB 5657 E59997   6460 嘬 E0DC 562C E598AC&lt;br /&gt;6461 噍 E0DD 564D E5998D   6462 噢 E0DE 5662 E599A2&lt;br /&gt;6463 噙 E0DF 5659 E59999   6464 噜 E0E0 565C E5999C&lt;br /&gt;6465 噌 E0E1 564C E5998C   6466 噔 E0E2 5654 E59994&lt;br /&gt;6467 嚆 E0E3 5686 E59A86   6468 噤 E0E4 5664 E599A4&lt;br /&gt;6469 噱 E0E5 5671 E599B1   6470 噫 E0E6 566B E599AB&lt;br /&gt;6471 噻 E0E7 567B E599BB   6472 噼 E0E8 567C E599BC&lt;br /&gt;6473 嚅 E0E9 5685 E59A85   6474 嚓 E0EA 5693 E59A93&lt;br /&gt;6475 嚯 E0EB 56AF E59AAF   6476 囔 E0EC 56D4 E59B94&lt;br /&gt;6477 囗 E0ED 56D7 E59B97   6478 囝 E0EE 56DD E59B9D&lt;br /&gt;6479 囡 E0EF 56E1 E59BA1   6480 囵 E0F0 56F5 E59BB5&lt;br /&gt;6481 囫 E0F1 56EB E59BAB   6482 囹 E0F2 56F9 E59BB9&lt;br /&gt;6483 囿 E0F3 56FF E59BBF   6484 圄 E0F4 5704 E59C84&lt;br /&gt;6485 圊 E0F5 570A E59C8A   6486 圉 E0F6 5709 E59C89&lt;br /&gt;6487 圜 E0F7 571C E59C9C   6488 帏 E0F8 5E0F E5B88F&lt;br /&gt;6489 帙 E0F9 5E19 E5B899   6490 帔 E0FA 5E14 E5B894&lt;br /&gt;6491 帑 E0FB 5E11 E5B891   6492 帱 E0FC 5E31 E5B8B1&lt;br /&gt;6493 帻 E0FD 5E3B E5B8BB   6494 帼 E0FE 5E3C E5B8BC&lt;br /&gt;6501 帷 E1A1 5E37 E5B8B7   6502 幄 E1A2 5E44 E5B984&lt;br /&gt;6503 幔 E1A3 5E54 E5B994   6504 幛 E1A4 5E5B E5B99B&lt;br /&gt;6505 幞 E1A5 5E5E E5B99E   6506 幡 E1A6 5E61 E5B9A1&lt;br /&gt;6507 岌 E1A7 5C8C E5B28C   6508 屺 E1A8 5C7A E5B1BA&lt;br /&gt;6509 岍 E1A9 5C8D E5B28D   6510 岐 E1AA 5C90 E5B290&lt;br /&gt;6511 岖 E1AB 5C96 E5B296   6512 岈 E1AC 5C88 E5B288&lt;br /&gt;6513 岘 E1AD 5C98 E5B298   6514 岙 E1AE 5C99 E5B299&lt;br /&gt;6515 岑 E1AF 5C91 E5B291   6516 岚 E1B0 5C9A E5B29A&lt;br /&gt;6517 岜 E1B1 5C9C E5B29C   6518 岵 E1B2 5CB5 E5B2B5&lt;br /&gt;6519 岢 E1B3 5CA2 E5B2A2   6520 岽 E1B4 5CBD E5B2BD&lt;br /&gt;6521 岬 E1B5 5CAC E5B2AC   6522 岫 E1B6 5CAB E5B2AB&lt;br /&gt;6523 岱 E1B7 5CB1 E5B2B1   6524 岣 E1B8 5CA3 E5B2A3&lt;br /&gt;6525 峁 E1B9 5CC1 E5B381   6526 岷 E1BA 5CB7 E5B2B7&lt;br /&gt;6527 峄 E1BB 5CC4 E5B384   6528 峒 E1BC 5CD2 E5B392&lt;br /&gt;6529 峤 E1BD 5CE4 E5B3A4   6530 峋 E1BE 5CCB E5B38B&lt;br /&gt;6531 峥 E1BF 5CE5 E5B3A5   6532 崂 E1C0 5D02 E5B482&lt;br /&gt;6533 崃 E1C1 5D03 E5B483   6534 崧 E1C2 5D27 E5B4A7&lt;br /&gt;6535 崦 E1C3 5D26 E5B4A6   6536 崮 E1C4 5D2E E5B4AE&lt;br /&gt;6537 崤 E1C5 5D24 E5B4A4   6538 崞 E1C6 5D1E E5B49E&lt;br /&gt;6539 崆 E1C7 5D06 E5B486   6540 崛 E1C8 5D1B E5B49B&lt;br /&gt;6541 嵘 E1C9 5D58 E5B598   6542 崾 E1CA 5D3E E5B4BE&lt;br /&gt;6543 崴 E1CB 5D34 E5B4B4   6544 崽 E1CC 5D3D E5B4BD&lt;br /&gt;6545 嵬 E1CD 5D6C E5B5AC   6546 嵛 E1CE 5D5B E5B59B&lt;br /&gt;6547 嵯 E1CF 5D6F E5B5AF   6548 嵝 E1D0 5D5D E5B59D&lt;br /&gt;6549 嵫 E1D1 5D6B E5B5AB   6550 嵋 E1D2 5D4B E5B58B&lt;br /&gt;6551 嵊 E1D3 5D4A E5B58A   6552 嵩 E1D4 5D69 E5B5A9&lt;br /&gt;6553 嵴 E1D5 5D74 E5B5B4   6554 嶂 E1D6 5D82 E5B682&lt;br /&gt;6555 嶙 E1D7 5D99 E5B699   6556 嶝 E1D8 5D9D E5B69D&lt;br /&gt;6557 豳 E1D9 8C73 E8B1B3   6558 嶷 E1DA 5DB7 E5B6B7&lt;br /&gt;6559 巅 E1DB 5DC5 E5B785   6560 彳 E1DC 5F73 E5BDB3&lt;br /&gt;6561 彷 E1DD 5F77 E5BDB7   6562 徂 E1DE 5F82 E5BE82&lt;br /&gt;6563 徇 E1DF 5F87 E5BE87   6564 徉 E1E0 5F89 E5BE89&lt;br /&gt;6565 後 E1E1 5F8C E5BE8C   6566 徕 E1E2 5F95 E5BE95&lt;br /&gt;6567 徙 E1E3 5F99 E5BE99   6568 徜 E1E4 5F9C E5BE9C&lt;br /&gt;6569 徨 E1E5 5FA8 E5BEA8   6570 徭 E1E6 5FAD E5BEAD&lt;br /&gt;6571 徵 E1E7 5FB5 E5BEB5   6572 徼 E1E8 5FBC E5BEBC&lt;br /&gt;6573 衢 E1E9 8862 E8A1A2   6574 彡 E1EA 5F61 E5BDA1&lt;br /&gt;6575 犭 E1EB 72AD E78AAD   6576 犰 E1EC 72B0 E78AB0&lt;br /&gt;6577 犴 E1ED 72B4 E78AB4   6578 犷 E1EE 72B7 E78AB7&lt;br /&gt;6579 犸 E1EF 72B8 E78AB8   6580 狃 E1F0 72C3 E78B83&lt;br /&gt;6581 狁 E1F1 72C1 E78B81   6582 狎 E1F2 72CE E78B8E&lt;br /&gt;6583 狍 E1F3 72CD E78B8D   6584 狒 E1F4 72D2 E78B92&lt;br /&gt;6585 狨 E1F5 72E8 E78BA8   6586 狯 E1F6 72EF E78BAF&lt;br /&gt;6587 狩 E1F7 72E9 E78BA9   6588 狲 E1F8 72F2 E78BB2&lt;br /&gt;6589 狴 E1F9 72F4 E78BB4   6590 狷 E1FA 72F7 E78BB7&lt;br /&gt;6591 猁 E1FB 7301 E78C81   6592 狳 E1FC 72F3 E78BB3&lt;br /&gt;6593 猃 E1FD 7303 E78C83   6594 狺 E1FE 72FA E78BBA&lt;br /&gt;6601 狻 E2A1 72FB E78BBB   6602 猗 E2A2 7317 E78C97&lt;br /&gt;6603 猓 E2A3 7313 E78C93   6604 猡 E2A4 7321 E78CA1&lt;br /&gt;6605 猊 E2A5 730A E78C8A   6606 猞 E2A6 731E E78C9E&lt;br /&gt;6607 猝 E2A7 731D E78C9D   6608 猕 E2A8 7315 E78C95&lt;br /&gt;6609 猢 E2A9 7322 E78CA2   6610 猹 E2AA 7339 E78CB9&lt;br /&gt;6611 猥 E2AB 7325 E78CA5   6612 猬 E2AC 732C E78CAC&lt;br /&gt;6613 猸 E2AD 7338 E78CB8   6614 猱 E2AE 7331 E78CB1&lt;br /&gt;6615 獐 E2AF 7350 E78D90   6616 獍 E2B0 734D E78D8D&lt;br /&gt;6617 獗 E2B1 7357 E78D97   6618 獠 E2B2 7360 E78DA0&lt;br /&gt;6619 獬 E2B3 736C E78DAC   6620 獯 E2B4 736F E78DAF&lt;br /&gt;6621 獾 E2B5 737E E78DBE   6622 舛 E2B6 821B E8889B&lt;br /&gt;6623 夥 E2B7 5925 E5A4A5   6624 飧 E2B8 98E7 E9A3A7&lt;br /&gt;6625 夤 E2B9 5924 E5A4A4   6626 夂 E2BA 5902 E5A482&lt;br /&gt;6627 饣 E2BB 9963 E9A5A3   6628 饧 E2BC 9967 E9A5A7&lt;br /&gt;6629 饨 E2BD 9968 E9A5A8   6630 饩 E2BE 9969 E9A5A9&lt;br /&gt;6631 饪 E2BF 996A E9A5AA   6632 饫 E2C0 996B E9A5AB&lt;br /&gt;6633 饬 E2C1 996C E9A5AC   6634 饴 E2C2 9974 E9A5B4&lt;br /&gt;6635 饷 E2C3 9977 E9A5B7   6636 饽 E2C4 997D E9A5BD&lt;br /&gt;6637 馀 E2C5 9980 E9A680   6638 馄 E2C6 9984 E9A684&lt;br /&gt;6639 馇 E2C7 9987 E9A687   6640 馊 E2C8 998A E9A68A&lt;br /&gt;6641 馍 E2C9 998D E9A68D   6642 馐 E2CA 9990 E9A690&lt;br /&gt;6643 馑 E2CB 9991 E9A691   6644 馓 E2CC 9993 E9A693&lt;br /&gt;6645 馔 E2CD 9994 E9A694   6646 馕 E2CE 9995 E9A695&lt;br /&gt;6647 庀 E2CF 5E80 E5BA80   6648 庑 E2D0 5E91 E5BA91&lt;br /&gt;6649 庋 E2D1 5E8B E5BA8B   6650 庖 E2D2 5E96 E5BA96&lt;br /&gt;6651 庥 E2D3 5EA5 E5BAA5   6652 庠 E2D4 5EA0 E5BAA0&lt;br /&gt;6653 庹 E2D5 5EB9 E5BAB9   6654 庵 E2D6 5EB5 E5BAB5&lt;br /&gt;6655 庾 E2D7 5EBE E5BABE   6656 庳 E2D8 5EB3 E5BAB3&lt;br /&gt;6657 赓 E2D9 8D53 E8B593   6658 廒 E2DA 5ED2 E5BB92&lt;br /&gt;6659 廑 E2DB 5ED1 E5BB91   6660 廛 E2DC 5EDB E5BB9B&lt;br /&gt;6661 廨 E2DD 5EE8 E5BBA8   6662 廪 E2DE 5EEA E5BBAA&lt;br /&gt;6663 膺 E2DF 81BA E886BA   6664 忄 E2E0 5FC4 E5BF84&lt;br /&gt;6665 忉 E2E1 5FC9 E5BF89   6666 忖 E2E2 5FD6 E5BF96&lt;br /&gt;6667 忏 E2E3 5FCF E5BF8F   6668 怃 E2E4 6003 E68083&lt;br /&gt;6669 忮 E2E5 5FEE E5BFAE   6670 怄 E2E6 6004 E68084&lt;br /&gt;6671 忡 E2E7 5FE1 E5BFA1   6672 忤 E2E8 5FE4 E5BFA4&lt;br /&gt;6673 忾 E2E9 5FFE E5BFBE   6674 怅 E2EA 6005 E68085&lt;br /&gt;6675 怆 E2EB 6006 E68086   6676 忪 E2EC 5FEA E5BFAA&lt;br /&gt;6677 忭 E2ED 5FED E5BFAD   6678 忸 E2EE 5FF8 E5BFB8&lt;br /&gt;6679 怙 E2EF 6019 E68099   6680 怵 E2F0 6035 E680B5&lt;br /&gt;6681 怦 E2F1 6026 E680A6   6682 怛 E2F2 601B E6809B&lt;br /&gt;6683 怏 E2F3 600F E6808F   6684 怍 E2F4 600D E6808D&lt;br /&gt;6685 怩 E2F5 6029 E680A9   6686 怫 E2F6 602B E680AB&lt;br /&gt;6687 怊 E2F7 600A E6808A   6688 怿 E2F8 603F E680BF&lt;br /&gt;6689 怡 E2F9 6021 E680A1   6690 恸 E2FA 6078 E681B8&lt;br /&gt;6691 恹 E2FB 6079 E681B9   6692 恻 E2FC 607B E681BB&lt;br /&gt;6693 恺 E2FD 607A E681BA   6694 恂 E2FE 6042 E68182&lt;br /&gt;6701 恪 E3A1 606A E681AA   6702 恽 E3A2 607D E681BD&lt;br /&gt;6703 悖 E3A3 6096 E68296   6704 悚 E3A4 609A E6829A&lt;br /&gt;6705 悭 E3A5 60AD E682AD   6706 悝 E3A6 609D E6829D&lt;br /&gt;6707 悃 E3A7 6083 E68283   6708 悒 E3A8 6092 E68292&lt;br /&gt;6709 悌 E3A9 608C E6828C   6710 悛 E3AA 609B E6829B&lt;br /&gt;6711 惬 E3AB 60EC E683AC   6712 悻 E3AC 60BB E682BB&lt;br /&gt;6713 悱 E3AD 60B1 E682B1   6714 惝 E3AE 60DD E6839D&lt;br /&gt;6715 惘 E3AF 60D8 E68398   6716 惆 E3B0 60C6 E68386&lt;br /&gt;6717 惚 E3B1 60DA E6839A   6718 悴 E3B2 60B4 E682B4&lt;br /&gt;6719 愠 E3B3 6120 E684A0   6720 愦 E3B4 6126 E684A6&lt;br /&gt;6721 愕 E3B5 6115 E68495   6722 愣 E3B6 6123 E684A3&lt;br /&gt;6723 惴 E3B7 60F4 E683B4   6724 愀 E3B8 6100 E68480&lt;br /&gt;6725 愎 E3B9 610E E6848E   6726 愫 E3BA 612B E684AB&lt;br /&gt;6727 慊 E3BB 614A E6858A   6728 慵 E3BC 6175 E685B5&lt;br /&gt;6729 憬 E3BD 61AC E686AC   6730 憔 E3BE 6194 E68694&lt;br /&gt;6731 憧 E3BF 61A7 E686A7   6732 憷 E3C0 61B7 E686B7&lt;br /&gt;6733 懔 E3C1 61D4 E68794   6734 懵 E3C2 61F5 E687B5&lt;br /&gt;6735 忝 E3C3 5FDD E5BF9D   6736 隳 E3C4 96B3 E99AB3&lt;br /&gt;6737 闩 E3C5 95E9 E997A9   6738 闫 E3C6 95EB E997AB&lt;br /&gt;6739 闱 E3C7 95
