﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客网-A JavaScript Fancier-随笔分类-javascript代码研究</title><link>http://www.cnitblog.com/yemoo/category/3109.html</link><description>伟大的javascript技术研究中...</description><language>zh-cn</language><lastBuildDate>Fri, 26 Oct 2007 05:27:30 GMT</lastBuildDate><pubDate>Fri, 26 Oct 2007 05:27:30 GMT</pubDate><ttl>60</ttl><item><title>增强程序的灵活性--使用JSON作为函数的参数</title><link>http://www.cnitblog.com/yemoo/archive/2007/10/26/35373.html</link><dc:creator>Yemoo'S JS Blog</dc:creator><author>Yemoo'S JS Blog</author><pubDate>Fri, 26 Oct 2007 04:24:00 GMT</pubDate><guid>http://www.cnitblog.com/yemoo/archive/2007/10/26/35373.html</guid><wfw:comment>http://www.cnitblog.com/yemoo/comments/35373.html</wfw:comment><comments>http://www.cnitblog.com/yemoo/archive/2007/10/26/35373.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yemoo/comments/commentRss/35373.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yemoo/services/trackbacks/35373.html</trackback:ping><description><![CDATA[<script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg1.js"></script><br><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;rootMenu</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Ext.tree.TreeNode({<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">示例中心</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expanded:</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;});<br><br>Ext.MessageBox.show({<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">消息提示区内容</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg:hArea.dom.innerHTML,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width:</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buttons:Ext.MessageBox.OK,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;animEl:hArea<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});</span></div>
<br>使用过Ext的朋友可能会发现，在其所有的API中大量用到了JSON对象，Ext使用类如配置的方式来生成各个页面对象等，其特点就是函数的参数大都是json对象，其主要特点就是函数的参数大都是json对象。<br>如<br><br>等等此类的用法在Ext中到处可见，那么那样写有什么优点呢？为什么不直接写函数参数而要通过JSON对象作为参数传入？<br><br>今日查看了Ext的帮助说明才真正认识到使用json对象作为函数参数的优点。<br><strong>总结两点：</strong><br><br><strong>1、程序灵活性高，容易扩展和使用。</strong><br>我们可以随时为一个函数添加/删除参数或在任意参数位置添加新参数，而不会像传统参数一样必须按照规定的顺序书写，而且每次添加或删除函数某个参数都要函数内容进行修改。而使用JSON作为参数可以不用考虑参数顺序。<br>看下面代码演示：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">script&nbsp;type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text/javascript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;</span><span style="COLOR: #000000">&lt;!--</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">普通方法</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;commonArg(name,age,desc){<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;userinfo</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">name:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">name</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">age:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">age</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\ndescription:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">desc;<br>&nbsp;&nbsp;&nbsp;&nbsp;alert(userinfo);<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;commonArg(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">yemoo</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">22</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">a&nbsp;boy!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">每次调用都必须按照规定的参数顺序书写，如果写成commonArg(22,"yemoo","desc")则返回信息就不对，每次都必须记忆每个参数意义及顺序</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;<br>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">JSON参数法</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;jsonArg(info){<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;userinfo</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">name:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">info.name</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\tage:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">info.age</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\ndescription:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">info.desc;<br>&nbsp;&nbsp;&nbsp;&nbsp;alert(userinfo);<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;jsonArg({name:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">blue</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,age:</span><span style="COLOR: #000000">22</span><span style="COLOR: #000000">,desc:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">a&nbsp;gril?</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">});<br>&nbsp;&nbsp;jsonArg({desc:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">not&nbsp;a&nbsp;people!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,name:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">sss</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,age:</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">});<br>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">参数位置可以随意写</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">script</span><span style="COLOR: #000000">&gt;</span></div>
<br><span style="COLOR: red">普通函数缺点很明显：必须记忆参数意义和顺序。而使用JSON的方法则不需要。</span><br><br><strong>2、使用者对函数的调用非常方便，特别是在只需要传入其中几个或一个参数时。</strong><br>看下面的代码演示：
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">script&nbsp;type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text/javascript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;</span><span style="COLOR: #000000">&lt;!--</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">普通方法</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;commonArg(name,age,desc){<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;userinfo</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">name:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">(name</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">empty</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\tage:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">(age</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\ndescription:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">desc</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">empty</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;alert(userinfo);<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">当只需要设定后面的参数时前面每个参数都需要设置为null</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;commonArg(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">tempUser</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;commonArg(</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">a&nbsp;boy!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;commonArg(</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">JSON参数法</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;jsonArg(info){<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;userinfo</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">name:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">(info.name</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">empty</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\tage:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">(info.age</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\ndescription:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">(info.desc</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">empty</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;alert(userinfo);<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">每次只需要设置需要设定参数项</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;jsonArg({name:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">tempUser</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">});<br>&nbsp;&nbsp;jsonArg({desc:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">a&nbsp;boy!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">});<br>&nbsp;&nbsp;jsonArg({age:</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">});<br>&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;</span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">script</span><span style="COLOR: #000000">&gt;</span></div>
<br><span style="COLOR: #ff0000">JSON方法优点很明显：每次只需传入需要的参数即可，而不用考虑其他参数。</span><br><br>JSON真是一个好用的东西，不用在ajax方面还是在js的其他方面都体现了其方便灵活的特性，的确应该好好去挖掘和学习json。<p><script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg2.js"></script><img src ="http://www.cnitblog.com/yemoo/aggbug/35373.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yemoo/" target="_blank">Yemoo'S JS Blog</a> 2007-10-26 12:24 <a href="http://www.cnitblog.com/yemoo/archive/2007/10/26/35373.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSON变量值的巧妙传入方式(Ext2学习总结)</title><link>http://www.cnitblog.com/yemoo/archive/2007/10/11/34714.html</link><dc:creator>Yemoo'S JS Blog</dc:creator><author>Yemoo'S JS Blog</author><pubDate>Thu, 11 Oct 2007 08:48:00 GMT</pubDate><guid>http://www.cnitblog.com/yemoo/archive/2007/10/11/34714.html</guid><wfw:comment>http://www.cnitblog.com/yemoo/comments/34714.html</wfw:comment><comments>http://www.cnitblog.com/yemoo/archive/2007/10/11/34714.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yemoo/comments/commentRss/34714.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yemoo/services/trackbacks/34714.html</trackback:ping><description><![CDATA[<script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg1.js"></script><br><br>&nbsp;&nbsp; 这曾经是一个困扰我很久的问题，如果我们想把JSON的某个值设定为某个变量该怎么设置呢？<br>如var json={a:"xxx",b:"yyy"}<br>如果我们想将该语句中的值xxx,yyy分别保存在两个变量上，然后传入变量名，该如何设置呢？大概你不会想到这样吧？<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;a</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">xxx</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;b</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">yyy</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;json</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">{a:a,b:b}</span></div>
<br>我没有这样做过，一般的做法为：
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;a</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">xxx</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,b</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">yyy</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;json</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">{a:'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">a</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">',b:'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">b</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'}</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;json</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">eval(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">json</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span></div>
<br>这样做的确挺麻烦的，但当初还真没有好办法。<br><br>今天在Ext中看到果真可以使用我们前面的那种写法，json会自动区分冒号前的是json名称值，后面的是传入的变量。<br>这样就简便多了。感叹一下：js语法真是妙！<br><br>以后可以这样用了：
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;a</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">xxx</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;b</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">yyy</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;json</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">{a:a,b:b}</span></div>
<p><script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg2.js"></script></p><img src ="http://www.cnitblog.com/yemoo/aggbug/34714.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yemoo/" target="_blank">Yemoo'S JS Blog</a> 2007-10-11 16:48 <a href="http://www.cnitblog.com/yemoo/archive/2007/10/11/34714.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>document.compatMode介绍(Ext2学习总结) </title><link>http://www.cnitblog.com/yemoo/archive/2007/10/11/34713.html</link><dc:creator>Yemoo'S JS Blog</dc:creator><author>Yemoo'S JS Blog</author><pubDate>Thu, 11 Oct 2007 08:46:00 GMT</pubDate><guid>http://www.cnitblog.com/yemoo/archive/2007/10/11/34713.html</guid><wfw:comment>http://www.cnitblog.com/yemoo/comments/34713.html</wfw:comment><comments>http://www.cnitblog.com/yemoo/archive/2007/10/11/34713.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yemoo/comments/commentRss/34713.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yemoo/services/trackbacks/34713.html</trackback:ping><description><![CDATA[<script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg1.js"></script><br><br>&nbsp;&nbsp; 对于document.compatMode，很多朋友可能都根我一样很少接触，知道他的存在却不清楚他的用途。今天在ext中看到document.compatMode的使用，感觉这个对于我们开发兼容性的web页面还是很有帮助，我们都知道，IE对盒模型的渲染在Standards Mode和Quirks Mode是有很大差别的，在Standards Mode下对于盒模型的解释和其他的标准浏览器是一样，但在Quirks Mode模式下则有很大差别，而在不声明Doctype的情况下，IE默认又是Quirks Mode。所以为兼容性考虑，我们可能需要获取当前的文档渲染方式。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.compatMode正好派上用场，它有两种可能的返回值：<span style="COLOR: #ff0000">BackCompat和CSS1Compat</span>，对其解释如下：<br><span style="COLOR: #008000">BackCompat Standards-compliant mode is not switched on. (Quirks Mode)<br>CSS1Compat Standards-compliant mode is switched on. (Standards Mode)</span><br><br>&nbsp;&nbsp;&nbsp;&nbsp; 在实际的项目中，我们还需要在获取浏览是否IE，这样就可以得到IE的渲染模式了。在Ext中的代码：isBorderBox=isIE&amp;&amp;!isStrict。<p><script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg2.js"></script><img src ="http://www.cnitblog.com/yemoo/aggbug/34713.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yemoo/" target="_blank">Yemoo'S JS Blog</a> 2007-10-11 16:46 <a href="http://www.cnitblog.com/yemoo/archive/2007/10/11/34713.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有关window.undefined=window.undefined写法的理解(Ext2学习总结) </title><link>http://www.cnitblog.com/yemoo/archive/2007/10/11/34712.html</link><dc:creator>Yemoo'S JS Blog</dc:creator><author>Yemoo'S JS Blog</author><pubDate>Thu, 11 Oct 2007 08:37:00 GMT</pubDate><guid>http://www.cnitblog.com/yemoo/archive/2007/10/11/34712.html</guid><wfw:comment>http://www.cnitblog.com/yemoo/comments/34712.html</wfw:comment><comments>http://www.cnitblog.com/yemoo/archive/2007/10/11/34712.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yemoo/comments/commentRss/34712.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yemoo/services/trackbacks/34712.html</trackback:ping><description><![CDATA[<script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg1.js"></script><br><br>&nbsp; 在jquery中我们见到<span style="COLOR: #00008b">window.undefined=window.undefined</span>的写法，今日又在ext中见到<span style="COLOR: #00008b">window["undefined"]=window["undefined"]</span>，对其写法非常不理解，将自身赋给自身有什么意义，在网上狂搜一番也没有明确的解释，后来看到ext注释写了这么一句：for old browsers，很明显是为了兼容老的浏览器，思虑半天，似乎有了些理解。<br><br>&nbsp; 在较老的浏览器中，如IE5之前的浏览器，undefined并不是window对象的一个子对象，并不是一个已实现的系统保留字，而是代表一个未定义类型，除了直接赋值和typeof()之外，其它任何对undefined的操作都将导致异常。如果需要知道一个变量是否是undefined，只能采用typeof()的方法：如var v;if (typeof(v) == 'undefined') {// ...}。如果使用if(a==="undefined")则会报&#8220;undefined未定义&#8221;的错误。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因此为了兼容IE5及之前的浏览器，我们可以使用一些方法来解决这个问题。本文前面说到的就是其中一种方式。window.undefined=window.undefined;咋一看很难理解，写法有点bt，但理解一下就不觉得奇怪了，在较早的浏览器中因为window.undefined不存在所以会返回undefined，将此赋给等号前的window.undefined这样后面就可以直接使用if(a==="undefined")的判断方式了。在新版本的浏览器中window.undefined=undefined；因此不会造成什么负面影响。<br><br>&nbsp; 除了使用window.undefined=window.undefined和window["undefined"]=window["undefined"]外，还有很多别的办法来实现对IE5及之前浏览器的兼容，如<br>var undefined = void null;&nbsp;&nbsp;//void函数永远返回undefined<br>var undefined = function(){}();<br>var undefined = void 0;<br>只要等号后的表达式返回undefined即可。<br><p<script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg2.js"></script> <img src ="http://www.cnitblog.com/yemoo/aggbug/34712.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yemoo/" target="_blank">Yemoo'S JS Blog</a> 2007-10-11 16:37 <a href="http://www.cnitblog.com/yemoo/archive/2007/10/11/34712.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>兼容FF/IE的insertAdjacentHTML方法【Ext2学习总结】</title><link>http://www.cnitblog.com/yemoo/archive/2007/10/11/34711.html</link><dc:creator>Yemoo'S JS Blog</dc:creator><author>Yemoo'S JS Blog</author><pubDate>Thu, 11 Oct 2007 08:36:00 GMT</pubDate><guid>http://www.cnitblog.com/yemoo/archive/2007/10/11/34711.html</guid><wfw:comment>http://www.cnitblog.com/yemoo/comments/34711.html</wfw:comment><comments>http://www.cnitblog.com/yemoo/archive/2007/10/11/34711.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yemoo/comments/commentRss/34711.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yemoo/services/trackbacks/34711.html</trackback:ping><description><![CDATA[<script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg1.js"></script><br><br>&nbsp; 今日研读大名鼎鼎的Ext框架源码，开始以为他们的代码一定超复杂难懂，但读了一点才发现，代码写的非常清晰易懂，设计严谨巧妙，确实一帮牛人之作。<br>废话不多说，说说今日收获：今日读到insertHtml部分发现这个方法其实是实现了兼容FF的insertAdjacentHTML方法，仔细看看感觉挺不错，于是提取出来，便于今后使用。<br><br><strong>方法名称：</strong><span style="COLOR: #dc143c">insertHtml(where,el,html)</span><br><br><strong>参数介绍：</strong><br><span style="COLOR: #dc143c">where：</span>插入位置。包括beforeBegin,beforeEnd,afterBegin,afterEnd。<br><span style="COLOR: #dc143c">el：</span>用于参照插入位置的html元素对象<br><span style="COLOR: #dc143c">html：</span>要插入的html代码<br><br><strong>源码如下：<br></strong>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">script&nbsp;type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text/javascript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;</span><span style="COLOR: #000000">&lt;!--</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;insertHtml(where,&nbsp;el,&nbsp;html){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;where.toLowerCase();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(el.insertAdjacentHTML){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">switch</span><span style="COLOR: #000000">(where){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">beforebegin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.insertAdjacentHTML('BeforeBegin',&nbsp;html);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;el.previousSibling;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">afterbegin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.insertAdjacentHTML('AfterBegin',&nbsp;html);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;el.firstChild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">beforeend</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.insertAdjacentHTML('BeforeEnd',&nbsp;html);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;el.lastChild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">afterend</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.insertAdjacentHTML('AfterEnd',&nbsp;html);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;el.nextSibling;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">throw</span><span style="COLOR: #000000">&nbsp;'Illegal&nbsp;insertion&nbsp;point&nbsp;</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'&nbsp;+&nbsp;where&nbsp;+&nbsp;'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;range&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;el.ownerDocument.createRange();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;frag;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">switch</span><span style="COLOR: #000000">(where){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">beforebegin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;range.setStartBefore(el);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frag&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;range.createContextualFragment(html);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.parentNode.insertBefore(frag,&nbsp;el);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;el.previousSibling;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">afterbegin</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(el.firstChild){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;range.setStartBefore(el.firstChild);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frag&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;range.createContextualFragment(html);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.insertBefore(frag,&nbsp;el.firstChild);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;el.firstChild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.innerHTML&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;html;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;el.firstChild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">beforeend</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(el.lastChild){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;range.setStartAfter(el.lastChild);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frag&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;range.createContextualFragment(html);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.appendChild(frag);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;el.lastChild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.innerHTML&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;html;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;el.lastChild;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">afterend</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;range.setStartAfter(el);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frag&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;range.createContextualFragment(html);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.parentNode.insertBefore(frag,&nbsp;el.nextSibling);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;el.nextSibling;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">throw</span><span style="COLOR: #000000">&nbsp;'Illegal&nbsp;insertion&nbsp;point&nbsp;</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'&nbsp;+&nbsp;where&nbsp;+&nbsp;'</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">';<br>&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<br><script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg2.js"></script><img src ="http://www.cnitblog.com/yemoo/aggbug/34711.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yemoo/" target="_blank">Yemoo'S JS Blog</a> 2007-10-11 16:36 <a href="http://www.cnitblog.com/yemoo/archive/2007/10/11/34711.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一段代码学习感想(使用面向对象方法将多维数组转换为一维数组)</title><link>http://www.cnitblog.com/yemoo/archive/2007/01/07/21622.html</link><dc:creator>Yemoo'S JS Blog</dc:creator><author>Yemoo'S JS Blog</author><pubDate>Sun, 07 Jan 2007 15:25:00 GMT</pubDate><guid>http://www.cnitblog.com/yemoo/archive/2007/01/07/21622.html</guid><wfw:comment>http://www.cnitblog.com/yemoo/comments/21622.html</wfw:comment><comments>http://www.cnitblog.com/yemoo/archive/2007/01/07/21622.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yemoo/comments/commentRss/21622.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yemoo/services/trackbacks/21622.html</trackback:ping><description><![CDATA[<script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg1.js"></script>  <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
    <span style="COLOR: #008080">&#160;1</span>&#160;<span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&#160;selectOption(value,text){<br /></span><span style="COLOR: #008080">&#160;2</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">value;<br /></span><span style="COLOR: #008080">&#160;3</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.text</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">text;<br /></span><span style="COLOR: #008080">&#160;4</span>&#160;<span style="COLOR: #000000">}<br /></span><span style="COLOR: #008080">&#160;5</span>&#160;<span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">&#160;6</span>&#160;<span style="COLOR: #000000"></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&#160;createSelect(selectName,selectOptions,currOptionValue){<br /></span><span style="COLOR: #008080">&#160;7</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;document.write(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;select&#160;name=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">selectName</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">&#160;8</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&#160;(</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">selectOptions.length;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br /></span><span style="COLOR: #008080">&#160;9</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&#160;(selectOptions[i].value</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">currOptionValue){<br /></span><span style="COLOR: #008080">10</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;document.write(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;option&#160;value='</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">selectOptions[i].value</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'&#160;selected&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">selectOptions[i].text</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/option&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">11</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">{<br /></span><span style="COLOR: #008080">12</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;document.write(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;option&#160;value='</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">selectOptions[i].value</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">'&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">selectOptions[i].text</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/option&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">13</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br /></span><span style="COLOR: #008080">14</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;}<br /></span><span style="COLOR: #008080">15</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;document.write(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;/select&gt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">16</span>&#160;<span style="COLOR: #000000">}<br /></span><span style="COLOR: #008080">17</span>&#160;<span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">18</span>&#160;<span style="COLOR: #000000"></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&#160;selectValidityDayTypes(value){<br /></span><span style="COLOR: #008080">19</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;validityDayTypes</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&#160;Array();<br /></span><span style="COLOR: #008080">20</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;validityDayTypes[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&#160;selectOption(</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">有效期</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">21</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;validityDayTypes[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&#160;selectOption(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">三天内</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">22</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;validityDayTypes[</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&#160;selectOption(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">15</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">半个月</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">23</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;validityDayTypes[</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&#160;selectOption(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">一个月</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">24</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;validityDayTypes[</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&#160;selectOption(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">90</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">三个月</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">25</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;validityDayTypes[</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&#160;selectOption(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">180</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">半年</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">26</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;validityDayTypes[</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&#160;selectOption(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">365</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">一年</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">27</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;validityDayTypes[</span><span style="COLOR: #000000">7</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&#160;selectOption(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">长期</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /></span><span style="COLOR: #008080">28</span>&#160;<span style="COLOR: #000000">&#160;&#160;&#160;&#160;createSelect(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">validityDay</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,validityDayTypes,value);<br /></span><span style="COLOR: #008080">29</span>&#160;<span style="COLOR: #000000">}</span></div>这是在某网站下载的一个js文件中的一个片段，该段js很容易看懂，但从中却使我学习到一点：通过建立对象的属性来将多维数组变为一维数组。<br /><br />其中思想是，将第二维声明为一个类，然后将该维中的每个数组项设为该类的属性，这样既使数组易于理解，更易于使用和管理。<br /><br />这个例子中将多个select选项使用数组形式表示出来，每个选项option又包括值和显示文字两部分。这里又可以使用数组来表示，但通过建立selectOption类来将值和显示文字设定为该类的属性来管理，这样操作和理解起来就容易的多了。<br /><br />同时也学习到：<font color="#0000ff">对于网页重复性较多的内容应该写成一个模块（函数或类），然后只需输入不同的内容来显示内容即可，而不用重复写入一些内容，如select等。<br /><br /></font>以后需要加强自己的面向对象的思维习惯了，这样才能将一些复杂的问题变为简单问题来解决。 
<script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg2.js"></script><img src ="http://www.cnitblog.com/yemoo/aggbug/21622.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yemoo/" target="_blank">Yemoo'S JS Blog</a> 2007-01-07 23:25 <a href="http://www.cnitblog.com/yemoo/archive/2007/01/07/21622.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>写了一个根据内容自动生成表格的函数</title><link>http://www.cnitblog.com/yemoo/archive/2006/12/03/19885.html</link><dc:creator>Yemoo'S JS Blog</dc:creator><author>Yemoo'S JS Blog</author><pubDate>Sat, 02 Dec 2006 18:18:00 GMT</pubDate><guid>http://www.cnitblog.com/yemoo/archive/2006/12/03/19885.html</guid><wfw:comment>http://www.cnitblog.com/yemoo/comments/19885.html</wfw:comment><comments>http://www.cnitblog.com/yemoo/archive/2006/12/03/19885.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yemoo/comments/commentRss/19885.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yemoo/services/trackbacks/19885.html</trackback:ping><description><![CDATA[<script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg1.js"></script><br />晚上突然看到以前做asp时写的一个根据数据库数据自动生成表格的程序。<br />要求是：<br />1，对于空内容，应该写为"&lt;td&gt;&amp;nbsp;&lt;/td&gt;",否则在ie会显示的很变态（ie当作该单元格不存在）。<br />2，当输出数据条数不等于表格的&#8220;长X宽&#8221;时，用"&lt;td&gt;&amp;nbsp;&lt;/td&gt;"自动填补最后一行空余的地方。<br /><br />其实也很简单，当时做asp时用了一个较复杂的算法（下面代码中MakeTable2），今天又想到一个更容易理解的算法（MakeTable1）,今天用js实现了下，不过郁闷的是感觉效率上都一样，这样还是用第一个比较好（容易理解，代码少）。<br />代码如下： <br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE&#160;html&#160;PUBLIC&#160;"-//W3C//DTD&#160;XHTML&#160;1.0&#160;Transitional//EN"&#160;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">html&#160;</span><span style="COLOR: #ff0000">xmlns</span><span style="COLOR: #0000ff">="http://www.w3.org/1999/xhtml"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">meta&#160;</span><span style="COLOR: #ff0000">http-equiv</span><span style="COLOR: #0000ff">="Content-Type"</span><span style="COLOR: #ff0000">&#160;content</span><span style="COLOR: #0000ff">="text/html;&#160;charset=utf-8"</span><span style="COLOR: #ff0000">&#160;</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Untitled&#160;1</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">style&#160;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text/css"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br />.style1&#160;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">{</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br />&#160;&#160;&#160;&#160;font-size</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">&#160;x-small</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;</span><span style="COLOR: #ff0000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}</span><span style="COLOR: #800000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">style</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">head</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">span&#160;</span><span style="COLOR: #ff0000">class</span><span style="COLOR: #0000ff">="style1"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script&#160;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text/javascript"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">/*</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br />&#160;&#160;&#160;&#160;函数作用：根据数组内容自动调整表格大小,对于空内容写入占位符，对于最后不足整行的用空单元格补足。<br />&#160;&#160;&#160;&#160;函数思路：首先计算数组长度，并根据要显示列数计算实际需要行数，然后循环输出行列并根据索引输出数组元素，<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果当前数组索引不小于数组长度或当前数组值为空则写入占位符单元格。<br /></span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">*/</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;makeTable1(cols,a){&#160;&#160;&#160;&#160;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">cols为列数，a应该是一个用逗号分开的字符串</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;&#160;&#160;&#160;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">alert(a.split(',').length);</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;t1</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;Date().getTime();<br />&#160;&#160;&#160;&#160;a</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">a.split(',');&#160;&#160;&#160;&#160;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">显式转换为数组,否则ie不能识别为数组</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;l</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">a.length;&#160;&#160;&#160;&#160;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">得到数组的长度</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;rows</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">parseInt(l</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">/</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">cols)</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(l</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">%</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">cols</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">==</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">?</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">:</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">1</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);&#160;&#160;&#160;&#160;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">计算出行数</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;&#160;&#160;&#160;<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;table&#160;border=\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">1</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;align=\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">center\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">for</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">rows;i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">++</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;tr&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">for</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;j</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;j</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">cols;j</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">++</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;temp</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">cols</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">*</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">j;&#160;&#160;&#160;&#160;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">计算当前索引</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;td&#160;width=\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">80</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;align=\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">center\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;height=\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">80</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(&#160;(temp</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">l</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&amp;&amp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">a[temp]</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">!=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">'')&#160;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">?</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;a[temp]:</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&amp;nbsp;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;/td&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;/tr&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br />&#160;&#160;&#160;&#160;}<br />&#160;&#160;&#160;&#160;outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;/table&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />&#160;&#160;&#160;&#160;document.write(outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;/br&gt;&lt;center&gt;执行时间：</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;Date().getTime()</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">-</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">t1)</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;/center&gt;&lt;/br&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">alert(rows);</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">}<br /></span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">/*</span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"><br />&#160;&#160;&#160;&#160;函数作用：同上<br />&#160;&#160;&#160;&#160;函数思路：计算数组长度，然后根据长度循环输出元素值，如果当前循环变量值是列数的整数倍（余数为0），<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;则输出行结束标记。否则输出列信息。然后计算当前循环变量值是否是列数的整数倍，如果不是，利用循环补足。直至补齐。<br /></span><span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">*/</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br /></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;makeTable2(cols,a){<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;t2</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;Date().getTime();<br />&#160;&#160;&#160;&#160;a</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">a.split(',');<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;l</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">a.length;<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;table&#160;border=\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">1</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;align=\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">center\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">for</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">l;i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">++</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;temp</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">1</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">)</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">%</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">cols;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">==</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">||</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">temp</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">==</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">1</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;tr&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;td&#160;width=\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">80</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;height=\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">80</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;align=\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">center\</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">a[i]</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;/td&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(temp</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">==</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;/tr&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />&#160;&#160;&#160;&#160;}<br />&#160;&#160;&#160;&#160;<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;x</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">%</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">cols;<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(x</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">!=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">for</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(cols</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">-</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">x);i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">++</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;td&gt;&amp;nbsp;&lt;/td&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;/tr&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br />&#160;&#160;&#160;&#160;}<br />&#160;&#160;&#160;&#160;outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;/table&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><br />&#160;&#160;&#160;&#160;document.write(outStr</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;/br&gt;&lt;center&gt;执行时间：</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;Date().getTime()</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">-</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">t2)</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&lt;/center&gt;&lt;/br&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br />}<br /></span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;str</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">a,b,c,d,e,v,f,s,e,d,s,d,e,d,a,b,c,d,e,v,f,s,e,d,s,d,e,a,b,c,d,e,v,f,s,e,d,s,b,c,d,e,v,f,s,e,d,s,d,e,d,a,b,c,d,e,v,f,s,e,d,s,d,e,a,b,c,d,e,v,f,s,e,d,s,b,c,d,e,v,f,s,e,d,s,d,e,d,a,b,c,d,e,v,f,s,e,d,s,d,e,a,b,c,d,e,v,f,s,e,d,s,s,e,d,s,d,e,a,b,c,d,e,v,f,s,e,d,s,b,c,d,e,v,f,s,e,d,s,d,e,d,a,b,c,d,e,v,f,s,e,d,s,d,e,a,b,c,d,e,v,f,s,e,d,s</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">;<br />str</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">str;<br />str</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">str;<br />makeTable1(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">5</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">,str);<br />makeTable2(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">5</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">,str);<br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">span</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">html</span><span style="COLOR: #0000ff">&gt;</span></div> 
<script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg2.js"></script><img src ="http://www.cnitblog.com/yemoo/aggbug/19885.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yemoo/" target="_blank">Yemoo'S JS Blog</a> 2006-12-03 02:18 <a href="http://www.cnitblog.com/yemoo/archive/2006/12/03/19885.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>兼容IE/FF的类title提示效果</title><link>http://www.cnitblog.com/yemoo/archive/2006/06/26/12878.html</link><dc:creator>Yemoo'S JS Blog</dc:creator><author>Yemoo'S JS Blog</author><pubDate>Mon, 26 Jun 2006 08:21:00 GMT</pubDate><guid>http://www.cnitblog.com/yemoo/archive/2006/06/26/12878.html</guid><wfw:comment>http://www.cnitblog.com/yemoo/comments/12878.html</wfw:comment><comments>http://www.cnitblog.com/yemoo/archive/2006/06/26/12878.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yemoo/comments/commentRss/12878.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yemoo/services/trackbacks/12878.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 昨天帮经典一位朋友解决了一个js的问题，但今天看一位网友回帖让偶郁闷了半天。&#8220; 3楼的在Firefox里啥也没有&#8221;，偶打开ff测试了下，果然是没有任何反映，看来标准上的问题以后要多多注意了。出现了好几次这样的问题了。原来楼主的问题时实现一种模拟title的一种很漂亮的效果，昨天下午偶花了半天功夫搞定了，代码如下：&lt;html&gt;&lt;head&gt;&#160;&...&nbsp;&nbsp;<a href='http://www.cnitblog.com/yemoo/archive/2006/06/26/12878.html'>阅读全文</a><img src ="http://www.cnitblog.com/yemoo/aggbug/12878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yemoo/" target="_blank">Yemoo'S JS Blog</a> 2006-06-26 16:21 <a href="http://www.cnitblog.com/yemoo/archive/2006/06/26/12878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自动对select表单列表进行排序</title><link>http://www.cnitblog.com/yemoo/archive/2006/06/20/12573.html</link><dc:creator>Yemoo'S JS Blog</dc:creator><author>Yemoo'S JS Blog</author><pubDate>Tue, 20 Jun 2006 09:16:00 GMT</pubDate><guid>http://www.cnitblog.com/yemoo/archive/2006/06/20/12573.html</guid><wfw:comment>http://www.cnitblog.com/yemoo/comments/12573.html</wfw:comment><comments>http://www.cnitblog.com/yemoo/archive/2006/06/20/12573.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yemoo/comments/commentRss/12573.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yemoo/services/trackbacks/12573.html</trackback:ping><description><![CDATA[  <script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg1.js"></script><br><textarea style="WIDTH: 99%; HEIGHT: 301px">&lt;! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;title&gt;runcode&lt;/title&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;meta name="Author" content="Sheneyan" /&gt;
&lt;script type="text/javascript"&gt;
function s(n){
  var o=document.getElementById(n);
  if (!o) return ;
  var t=[],tt=o.options;
  while(tt.length&gt;0){
  t[t.length]=tt[0].text;
  tt.remove(0);
 }
 t.sort();
  for(var i=0,c;c=t[i];i++){
  tt.add(new Option(c));
 }
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body onload="s('abc')"&gt;
&lt;select id="abc"&gt;
&lt;option&gt;华硕&lt;/option&gt;
&lt;option&gt;.NET &lt;/option&gt;
&lt;option&gt;360 安全卫士&lt;/option&gt;
&lt;option&gt;ACDSee&lt;/option&gt;
&lt;option&gt;Adobe&lt;/option&gt;
&lt;option&gt;Firewall&lt;/option&gt;
&lt;option&gt;Alcohol 120%&lt;/option&gt;
&lt;option&gt;AMD&lt;/option&gt;
&lt;option&gt;AnyDVD&lt;/option&gt;
&lt;option&gt;Apple&lt;/option&gt;
&lt;option&gt;ATi&lt;/option&gt;
&lt;option&gt;AutoDesk&lt;/option&gt;
&lt;option&gt;罗技&lt;/option&gt;
&lt;option&gt;BitComet&lt;/option&gt;
&lt;option&gt;BitSpirit(比特精灵)&lt;/option&gt;
&lt;option&gt;BlackIce&lt;/option&gt;
&lt;option&gt;BlueTooth&lt;/option&gt;
&lt;option&gt;Cisco &lt;/option&gt;
&lt;option&gt;CloneCD&lt;/option&gt;
&lt;option&gt;CloneDVD&lt;/option&gt;
&lt;option&gt;CS-半条命&lt;/option&gt;
&lt;option&gt;CuteFTP&lt;/option&gt;
&lt;option&gt;千千静听&lt;/option&gt;
&lt;option&gt;趋势科技(PC-cillin)&lt;/option&gt;
&lt;option&gt;DAEMON Tools&lt;/option&gt;
&lt;option&gt;DELL&lt;/option&gt;
&lt;option&gt;DirectX&lt;/option&gt;
&lt;option&gt;DivX&lt;/option&gt;
&lt;option&gt;DreamMail&lt;/option&gt;
&lt;option&gt;PowerDVD&lt;/option&gt;
&lt;option&gt;Easy CD-DA&lt;/option&gt;
&lt;option&gt;瑞星(Rising)&lt;/option&gt;
&lt;option&gt;Editplus&lt;/option&gt;
&lt;option&gt;EmEditor&lt;/option&gt;
&lt;option&gt;eMule&lt;/option&gt;
&lt;option&gt;eMule Plus&lt;/option&gt;
&lt;option&gt;FeedDemon&lt;/option&gt;
&lt;option&gt;FileZilla&lt;/option&gt;
&lt;option&gt;FlashFXP&lt;/option&gt;
&lt;option&gt;Flashget&lt;/option&gt;
&lt;option&gt;foobar2000&lt;/option&gt;
&lt;option&gt;Foxit PDF Reader&lt;/option&gt;
&lt;option&gt;Foxmail&lt;/option&gt;
&lt;option&gt;FreeBSD&lt;/option&gt;
&lt;option&gt;FTPRush&lt;/option&gt;
&lt;option&gt;Gmail&lt;/option&gt;
&lt;option&gt;Google talk&lt;/option&gt;
&lt;option&gt;Google&lt;/option&gt;
&lt;option&gt;GoogleToolbar&lt;/option&gt;
&lt;option&gt;GoSURF&lt;/option&gt;
&lt;option&gt;GreenBrowser&lt;/option&gt;
&lt;option&gt;HP&lt;/option&gt;
&lt;option&gt;HyperSnap-DX&lt;/option&gt;
&lt;option&gt;IBM&lt;/option&gt;
&lt;option&gt;ICQ&lt;/option&gt;
&lt;option&gt;iMac G5&lt;/option&gt;
&lt;option&gt;Intel&lt;/option&gt;
&lt;option&gt;Internet Explorer&lt;/option&gt;
&lt;option&gt;IPB&lt;/option&gt;
&lt;option&gt;iTune&lt;/option&gt;
&lt;option&gt;腾讯&lt;/option&gt;
&lt;option&gt;微软&lt;/option&gt;
&lt;option&gt;木马克星(iparmor)&lt;/option&gt;
&lt;option&gt;天网防火墙&lt;/option&gt;
&lt;option&gt;木马捆绑克星&lt;/option&gt;
&lt;option&gt;风云防火墙个人版&lt;/option&gt;
&lt;option&gt;卡巴斯基(Kaspersky)&lt;/option&gt;
&lt;option&gt;Maxthon 傲游&lt;/option&gt;
&lt;option&gt;Media Player Classic&lt;/option&gt;
&lt;option&gt;Windows Media Player&lt;/option&gt;
&lt;option&gt;Windows Live Messenger&lt;/option&gt;
&lt;option&gt;Microsoft AntiSpyware&lt;/option&gt;
&lt;option&gt;Microsoft Office&lt;/option&gt;
&lt;option&gt;Mozilla FireFox&lt;/option&gt;
&lt;option&gt;Mozilla ThunderBird&lt;/option&gt;
&lt;option&gt;MySQL&lt;/option&gt;
&lt;option&gt;Nero&lt;/option&gt;
&lt;option&gt;NetCaptor&lt;/option&gt;
&lt;option&gt;Nettransport&lt;/option&gt;
&lt;option&gt;nVIDIA nForce&lt;/option&gt;
&lt;option&gt;鱼鱼桌面秀&lt;/option&gt;
&lt;option&gt;Opera&lt;/option&gt;
&lt;option&gt;PHP&lt;/option&gt;
&lt;option&gt;QQ病毒专杀工具&lt;/option&gt;
&lt;option&gt;QuickTime&lt;/option&gt;
&lt;option&gt;RealPlayer&lt;/option&gt;
&lt;option&gt;skype&lt;/option&gt;
&lt;option&gt;SQL Server 2005&lt;/option&gt;
&lt;option&gt;stylexp&lt;/option&gt;
&lt;option&gt;TheWorld Browser&lt;/option&gt;
&lt;option&gt;TuneUp Utilities&lt;/option&gt;
&lt;option&gt;UltraEdit&lt;/option&gt;
&lt;option&gt;UltraISO&lt;/option&gt;
&lt;option&gt;Winamp&lt;/option&gt;
&lt;option&gt;Windows OneCare&lt;/option&gt;
&lt;option&gt;Windows优化王&lt;/option&gt;
&lt;option&gt;Windows优化大师&lt;/option&gt;
&lt;option&gt;WinDVD&lt;/option&gt;
&lt;option&gt;WinRAR&lt;/option&gt;
&lt;option&gt;WinZip&lt;/option&gt;
&lt;option&gt;XnView&lt;/option&gt;
&lt;option&gt;Zonealarm&lt;/option&gt;
&lt;option&gt;Zoom Player&lt;/option&gt;
&lt;option&gt;超级兔子&lt;/option&gt;
&lt;option&gt;风雷影音&lt;/option&gt;
&lt;option&gt;急速启动 HurryRun&lt;/option&gt;
&lt;/select&gt;
&lt;/body&gt;
&lt;/html&gt;</textarea>
  <br />主要有以下几点总结：<br />1，select控件本身支持字母索引。比如select控件处于焦点中的时候，按B键，option中相应的以B开头的选项就会显示出来。<br /><br />2，<br /><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;t</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">[],tt</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">o.options;<br />&#160;&#160;</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">while</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;(tt.length</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&gt;</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">){<br />&#160;&#160;&#160;&#160;t[t.length]</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">tt[</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">].text;<br />&#160;&#160;&#160;&#160;tt.remove(</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br />&#160;&#160;}</span><br />这段代码写的较好，但一开始没有理解，<br />这段代码的作用是一项一项赋值select空间列表内容赋给另一个数组。<br />首先定义数组t=[](<font color="#ff0000">这种定义方法偶还是头次见到，孤陋寡闻了</font>);用于存储原select控件列表内容。<br />tt=o.options;读取select空间内容，以数组形式存储在tt数组中。<br /><font style="BACKGROUND-COLOR: #f5f5f5">t[t.length]<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span></font><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">tt[</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">].text;这里时一个技巧，因为t.length总是比当前t的最大索引大1，所以这样写数组t可以自动增加空间。tt[0].text这里每次都读取第一个内容，然后用tt.remove(<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);删除第一项内容，直至读取完毕。<br /><br />3，<br />t.sort();<br />&#160;&#160;<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">for</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">0</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">,c;c</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">t[i];i</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">++</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">){<br />&#160;&#160;&#160;&#160;tt.add(</span><span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span><span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">&#160;Option(c));<br />&#160;&#160;}这段代码对新数组内容按字母派讯，然后写入原select空间列表。<br /></span><br /></span></span> <p><script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg2.js"></script><img src ="http://www.cnitblog.com/yemoo/aggbug/12573.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yemoo/" target="_blank">Yemoo'S JS Blog</a> 2006-06-20 17:16 <a href="http://www.cnitblog.com/yemoo/archive/2006/06/20/12573.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mail.163.com代码研究(三)</title><link>http://www.cnitblog.com/yemoo/archive/2006/06/18/12470.html</link><dc:creator>Yemoo'S JS Blog</dc:creator><author>Yemoo'S JS Blog</author><pubDate>Sun, 18 Jun 2006 15:39:00 GMT</pubDate><guid>http://www.cnitblog.com/yemoo/archive/2006/06/18/12470.html</guid><wfw:comment>http://www.cnitblog.com/yemoo/comments/12470.html</wfw:comment><comments>http://www.cnitblog.com/yemoo/archive/2006/06/18/12470.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/yemoo/comments/commentRss/12470.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yemoo/services/trackbacks/12470.html</trackback:ping><description><![CDATA[<script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg1.js"></script><br><br>这个代码是输入帐号密码登陆成功之后的页面的js代码:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">script&#160;language</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">JavaScript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #000000">&lt;!--</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;s&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br />s&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;document.domain;<br />window.zDomain&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;s;<br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;gSID&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">MBoujIFRhqQAkJVj</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;gUID</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">netman8410@163.com</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;gUser&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">netman8410</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;gCssStylePath&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://mimg.163.com/jsstyle/cmcss/163_blue_s.css</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;gDomain&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">163.com</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;cosnm&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">normal_fj20m_nf_64m</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;netfdr_host&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://wp.mail.163.com</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;netDiskPath&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/netfolder/servlet/nfapp/main_list.html?</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;cos_netfolder&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(cos_netfolder&#160;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">){<br />&#160;&#160;&#160;&#160;cos_netfolder&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />}<br /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">script</span><span style="COLOR: #000000">&gt;<br /></span><span style="COLOR: #000000">&lt;!--上述代码是一些变量的初始化--&gt;<br /></span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">script&#160;language</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">JavaScript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #000000">&lt;!--</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&#160;fGetVersion()<br />{<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;userAgent&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;window.navigator.userAgent.toLowerCase();<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;AppName&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;Version&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&#160;Sys&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(userAgent.indexOf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">msie</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">&gt;-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;AppName&#160;&#160;&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">msie</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&#160;&#160;&#160;&#160;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Version&#160;&#160;&#160;&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;userAgent.replace(</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">msie</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">gi,</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">).replace(</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">;.</span><span style="COLOR: #000000">+/</span><span style="COLOR: #000000">gi,</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">)&#160;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&#160;&#160;&#160;&#160;<br />&#160;&#160;&#160;&#160;}</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(userAgent.toUpperCase().indexOf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">firefox</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">&gt;-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;AppName&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">firefox</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Version&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;userAgent.replace(</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">firefox\</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">gi,"").replace(/\(.*\)/g,"")&#160;-&#160;0;</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">&#160;&#160;&#160;&#160;}</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(userAgent.toUpperCase().indexOf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">netscape</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">&gt;-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;AppName&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">netscape</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Version&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;userAgent.replace(</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">netscape\</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">gi,"").replace(/\(.*\)/g,"")&#160;-&#160;0;</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">&#160;&#160;&#160;&#160;}<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">((AppName&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">msie</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&#160;Version&#160;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">)&#160;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&#160;(AppName&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">firefox</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&#160;Version&#160;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&#160;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&#160;(AppName&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">netscape</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&#160;Version</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">7.2</span><span style="COLOR: #000000">)&#160;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&#160;userAgent.indexOf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">macintosh</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&#160;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&#160;userAgent.indexOf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">konqueror</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&#160;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&#160;userAgent.indexOf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">safari</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&#160;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&#160;userAgent.indexOf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">camino</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)&#160;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;document.location.href&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://mimg.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&#160;gDomain&#160;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/jsstyle/html/clientagenerror.htm</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;}<br />}<br />fGetVersion();<br />window.onload&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">(){<br />&#160;&#160;&#160;&#160;fGTO(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">indexFrame</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).src&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://mimg.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&#160;gDomain&#160;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/jsstyle/html/gblank0606131756.htm</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;fGTO(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">contentFrame</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).src&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://mimg.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&#160;gDomain&#160;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/jsstyle/html/blankpage.htm</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;fGTO(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">submitFrame</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).src&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://mimg.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&#160;gDomain&#160;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/jsstyle/html/blankpage.htm</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;fGTO(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">historyFrame</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).src&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://mimg.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&#160;gDomain&#160;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/jsstyle/html/history_1.htm</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;fGTO(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">debugFrame</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).src&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://mimg.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&#160;gDomain&#160;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/jsstyle/html/blankpage.htm</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;fGTO(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">jsFrame</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).src&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://mimg.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&#160;gDomain&#160;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/jsstyle/html/globe0606131756.htm</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;fGTO(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">addressFrame</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).src&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/coremail/fcg/ldvcapp?funcid=prtsearchres&amp;sid=MBoujIFRhqQAkJVj&amp;sortattr_N=&amp;showlist=&amp;ifirstv=&amp;tempname=address/addrdata_ntes.htm&amp;listnum=-1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />&#160;&#160;&#160;&#160;fGTO(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">userFrame</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">).src&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/coremail/fcg/ldapapp?sid=MBoujIFRhqQAkJVj&amp;funcid=opuserattr&amp;optype=print&amp;tempname=options/userattr.htm</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br />}<br /><br /></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&#160;fGTO(id){<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&#160;document.getElementById(id);<br />}<br /></span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&#160;unload(){<br />&#160;&#160;&#160;&#160;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&#160;gDomain&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">163.com</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;window.open&#160;(&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://popme.163.com/ad/popwin720300_freemail163.html</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vip_720</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">width=720,height=300,&#160;toolbar=no,&#160;menubar=no,&#160;scrollbars=no,&#160;resizable=no,&#160;location=no,&#160;status=no</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />&#160;&#160;&#160;&#160;}</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&#160;gDomain&#160;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">126.com</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">){<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;window.open&#160;(&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://popme.163.com/ad/popwin720300_freemail126.html</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">vip_720</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&#160;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">width=720,height=300,&#160;toolbar=no,&#160;menubar=no,&#160;scrollbars=no,&#160;resizable=no,&#160;location=no,&#160;status=no</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />&#160;&#160;&#160;&#160;}<br />}<br /></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">script</span><span style="COLOR: #000000">&gt;</span></div>1,第一部分的js代码作用是初始化一些变量.由系统后台动态生成.<br />2,fGetVersion()函数在上一次代码分析中已经出现,这里不在解释.这里的作用是当浏览器版本不支持当前代码时自动转向到相应的显示页面.<br />3,<strong><font color="#ff0000">window.onload = function()</font></strong>这样的写法是一种比较灵活的写法,便于使html与js更加独立.相当于在body标记里写上onload属性.在这里定义一个函数在页面加载时自动执行.<br />4,fGTO(id)函数相当于把document.getElementByID(id)简写.在上一个函数中fGTO("indexFrame").src之类几个地方是对对象src属性的直接操作,动态写入相应的内容,这里应用DOM对象.<br />5,unload()函数作用是在页面退出时弹出相应的页面. <p><script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg2.js"></script><img src ="http://www.cnitblog.com/yemoo/aggbug/12470.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/yemoo/" target="_blank">Yemoo'S JS Blog</a> 2006-06-18 23:39 <a href="http://www.cnitblog.com/yemoo/archive/2006/06/18/12470.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mail.163.com代码研究(二)</title><link>http://www.cnitblog.com/yemoo/archive/2006/06/18/12453.html</link><dc:creator>Yemoo'S JS Blog</dc:creator><author>Yemoo'S JS Blog</author><pubDate>Sun, 18 Jun 2006 04:41:00 GMT</pubDate><guid>http://www.cnitblog.com/yemoo/archive/2006/06/18/12453.html</guid><wfw:comment>http://www.cnitblog.com/yemoo/comments/12453.html</wfw:comment><comments>http://www.cnitblog.com/yemoo/archive/2006/06/18/12453.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/yemoo/comments/commentRss/12453.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/yemoo/services/trackbacks/12453.html</trackback:ping><description><![CDATA[<script type="text/javascript" src="http://www.cnitblog.com/Files/yemoo/gg1.js"></script>  <p>
    <font color="#ff0000">具体代码如下:</font>
  </p>
  <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
    <span style="COLOR: #0000ff">function</span>
    <span style="COLOR: #000000">&#160;fLoginFormSubmit()<br />{<br />&#160;&#160;&#160;&#160;</span>
    <span style="COLOR: #0000ff">var</span>
    <span style="COLOR: #000000">&#160;fm&#160;</span>
    <span style="COLOR: #000000">=</span>
    <span style="COLOR: #000000">&#160;window.document.login163;<br />&#160;&#160;&#160;&#160;</span>
    <span style="COLOR: #0000ff">var</span>
    <span style="COLOR: #000000">&#160;user&#160;</span>
    <span style="COLOR: #000000">=</span>
    <span style="COLOR: #000000">&#160;fm.username;<br />&#160;&#160;&#160;&#160;user.value&#160;</span>
    <span style="COLOR: #000000">=</span>
    <span style="COLOR: #000000">&#160;fTrim(&#160;user.value);&#160;</span>
    <span style="COLOR: #008000">//</span>
    <span style="COLOR: #008000">Trim&#160;the&#160;input&#160;value.</span>
    <span style="COLOR: #008000">
      <br />
    </span>
    <span style="COLOR: #000000">
      <br />&#160;&#160;&#160;&#160;</span>
    <span style="COLOR: #0000ff">if</span>
    <span style="COLOR: #000000">(&#160;user.value&#160;</span>
    <span style="COLOR: #000000">==</span>
    <span style="COLOR: #000000">""</span>
    <span style="COLOR: #000000"