??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩一中文字幕,一本色道久久综合亚洲精品酒店 ,欧美精品一区二区视频http://www.aygfsteel.com/gen-sky/category/40685.htmll日昏昏醉梦_忽闻春尽强登山, 因过竚w逢僧话,偷得生半日闌Ӏ?/description>zh-cnTue, 01 Dec 2009 13:07:53 GMTTue, 01 Dec 2009 13:07:53 GMT60js 工具cdhttp://www.aygfsteel.com/gen-sky/articles/304259.html星期?/dc:creator>星期?/author>Mon, 30 Nov 2009 07:23:00 GMThttp://www.aygfsteel.com/gen-sky/articles/304259.htmlhttp://www.aygfsteel.com/gen-sky/comments/304259.htmlhttp://www.aygfsteel.com/gen-sky/articles/304259.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/304259.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/304259.html/**
 * q回URL 中的属性?br />  * 
 * @param name
 *            属性名U?br />  * @return 属性?nbsp;
 * window 对象表示览器中打开的窗? 
 * location 对象包含有关当前URL的信? 
 * search  属性是一个可d写的字符Ԍ 可设|或q回当前 URL的查询部分(部号 ?之后的部分) 
 * substr(start,length) Ҏ可在字符串中抽取?nbsp;start 下标开始的指定数目的字W? 
 *         q回|一个新的字W串Q包含从 stringObject ?nbsp;startQ包括号start所?nbsp;的字W?处开始的 length 个字W?br />  *         如果没有指定 lengthQ那么返回的字符串包?nbsp;?nbsp;start 到stringObject 的结字符.
 * match() Ҏ 可在字符串内索指定的|或找C个或多个正则表达式的匚w. 
 *         详细介绍参见Qhttp://www.w3school.com.cn/js/jsref_match.asp 
 * unescape() 是全局函数Q给转义字符串解码,对escape() ~码的字W串解码?nbsp;(ECMAScript v3 从标准中已删?
 
*/
function getQuery(name) {
    
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");

    
var r = window.location.search.substr(1).match(reg);
    
if (r != null) {
        
return unescape(r[2]);
    }
    
return null;
}


]]>
JavaScript trim函数的十二种实现http://www.aygfsteel.com/gen-sky/articles/javascripttrimmethod.html星期?/dc:creator>星期?/author>Wed, 25 Nov 2009 09:23:00 GMThttp://www.aygfsteel.com/gen-sky/articles/javascripttrimmethod.htmlhttp://www.aygfsteel.com/gen-sky/comments/303663.htmlhttp://www.aygfsteel.com/gen-sky/articles/javascripttrimmethod.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/303663.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/303663.html 1.String.prototype.trim = function() {
2.  return this.replace(/^"s"s*/, '').replace(/"s"s*$/, '');
3.}

看v来不怎么P动用了两ơ正则替换,实际速度非常惊hQ主要得益于览器的内部优化。一个著名的例子字符串拼接,直接相加比用Array做成的StringBufferq快。base2cd使用q种实现?br /> 实现2
1.String.prototype.trim = function() {
2.  return this.replace(/^"s+/, '').replace(/"s+$/, '');
3.}

和实?很相|但稍慢一点,主要原因是它最先是假设臛_存在一个空白符。Prototype.js使用q种实现Q不q其名字为stripQ因为Prototype的方法都是力求与Ruby同名?br /> 实现3
1.String.prototype.trim = function() {
2.  return  this.substring(Math.max(this.search(/"S/), 0),this.search(/"S"s*$/) + 1);
3.}

以截取方式取得空白部分(当然允许中间存在I白W)Qd调用了四个原生方法。设计得非常巧妙Qsubstring以两个数字作为参数。Math.max以两个数字作参数Qsearch则返回一个数字。速度比上面两个慢一点,但比下面大多数都快?br /> 实现4
1.String.prototype.trim = function() {
2.  return  this.replace(/^"s+|"s+$/g, '');
3.}

q个可以U得上实?的简化版Q就是利用候选操作符q接两个正则。但q样做就失去了浏览器优化的机会,比不上实?。由于看来很优雅Q许多类库都使用它,如JQuery与mootools
实现5
1.String.prototype.trim = function() {
2.  var str = this;
3.  str = str.match(/"S+(?:"s+"S+)*/);
4.  return str ? str[0] : '';
5.}

match 是返回一个数l,因此原字W串W合要求的部分就成ؓ它的元素。ؓ了防止字W串中间的空白符被排除,我们需要动用到非捕h分l(?:expQ。由于数l可 能ؓI,我们在后面还要做q一步的判定。好像浏览器在处理分l上比较无力Q一个字慢。所以不要迷信正则,虽然它基本上是万能的?br /> 实现6
1.String.prototype.trim = function() {
2.  return this.replace(/^"s*("S*("s+"S+)*)"s*$/, '$1');
3.}

把符合要求的部分提供出来Q放C个空字符串中。不q效率很差,其是在IE6中?br /> 实现7
1.String.prototype.trim = function() {
2.  return this.replace(/^"s*("S*(?:"s+"S+)*)"s*$/, '$1');
3.}

和实?很相|但用了非捕获分组q行了优点,性能效之有一点点提升?br /> 实现8
1.String.prototype.trim = function() {
2.  return this.replace(/^"s*((?:["S"s]*"S)?)"s*$/, '$1');
3.}

沿着上面两个的思\q行改进Q动用了非捕获分l与字符集合Q用?替?Q效果非常惊人。尤其在IE6中,可以用疯狂来形容q次性能的提升,直接U杀火狐?br /> 实现9
1.String.prototype.trim = function() {
2.  return this.replace(/^"s*(["S"s]*?)"s*$/, '$1');
3.}

q次是用懒惰匚w替非捕获分l,在火狐中得到改善QIE没有上次那么疯狂?br /> 实现10
01.String.prototype.trim = function() {
02.  var str = this,
03.  whitespace = ' "n"r"t"f"x0b"xa0"u2000"u2001"u2002"u2003"u2004"u2005"u2006"u2007"u2008"u2009"u200a"u200b"u2028"u2029"u3000';
04.  for (var i = 0,len = str.length; i < len; i++) {
05.    if (whitespace.indexOf(str.charAt(i)) === -1) {
06.      str = str.substring(i);
07.      break;
08.    }
09.  }
10.  for (i = str.length - 1; i >= 0; i--) {
11.    if (whitespace.indexOf(str.charAt(i)) === -1) {
12.      str = str.substring(0, i + 1);
13.      break;
14.    }
15.  }
16.  return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
17.}

? 只想_搞出q个的h已经不是用牛来Ş容,已是一LU别。它先是把可能的I白W全部列出来Q在W一ơ遍历中砍掉前面的空白,W二ơ砍掉后面的I白。全 q程只用了indexOf与substringq个专门为处理字W串而生的原生方法,没有使用到正则。速度快得惊hQ估计直g内部的二q制实现Qƈ且在 IE与火狐(其他览器当然也毫无疑问Q都有良好的表现。速度都是零毫U别的?br /> 实现11
01.String.prototype.trim = function() {
02.  var str = this,
03.  str = str.replace(/^"s+/, '');
04.  for (var i = str.length - 1; i >= 0; i--) {
05.    if (/"S/.test(str.charAt(i))) {
06.      str = str.substring(0, i + 1);
07.      break;
08.    }
09.  }
10.  return str;
11.}

? ?0已经告诉我们普通的原生字符串截取方法是q胜于正则替换,虽然是复杂一炏V但只要正则不过于复杂,我们可以利用浏览器Ҏ则的优化Q改善程序执? 效率Q如实现8在IE的表现。我想通常不会有h在项目中应用实现10Q因为那个whitespace 实现太长太难CQ当然如果你在打造一个类库,它绝Ҏ首先Q。实?1可谓其改q版Q前面部分的I白由正则替换负责砍掉,后面用原生方法处理,效果不? 于原版,但速度都是非常逆天?br /> 实现12
1.String.prototype.trim = function() {
2.  var str = this,
3.  str = str.replace(/^"s"s*/, ''),
4.  ws = /"s/,
5.  i = str.length;
6.  while (ws.test(str.charAt(--i)));
7.  return str.slice(0, i + 1);
8.}

实现10与实?1在写法上更好的改q版Q注意说的不是性能速度Q而是易记与用上。和它的两个前辈都是零毫U别的Q以后就用这个来工作与吓人?br />
摘自Qhttp://www.cnblogs.com/rubylouvre/archive/2009/09/18/1568794.html

]]>
[ ?] removeChild的障眼法.http://www.aygfsteel.com/gen-sky/articles/removeChild.html星期?/dc:creator>星期?/author>Mon, 16 Nov 2009 08:49:00 GMThttp://www.aygfsteel.com/gen-sky/articles/removeChild.htmlhttp://www.aygfsteel.com/gen-sky/comments/302576.htmlhttp://www.aygfsteel.com/gen-sky/articles/removeChild.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/302576.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/302576.html

removeChild的障眼法  
           js 数组 动态更新非静态列?

有这么一D代码:

<ul id="demo">
<li>a</li>
<li>b</li>
<li>c</li>
</ul>

 JavaScriptQ?/p>

var ul = document.getElementById('demo');
var liList = ul.getElementsByTagName('li');
for (var i = 0; i 
< = liList.length; i++) {
  ul.removeChild(liList[i]);
}

 q行代码?Q发现只剩下 节点b  了?/p>

var ul = document.getElementById('demo');
var liList = ul.getElementsByTagName('li');
for (var i = 0; i 
<  liList.length; i++) {
 ul.removeChild(liList[0]);
}

q行上面代码后,发现只剩?节点c 了?/p>

最后把length 提取出来Q?先定义,~存h?/p>


var ul = document.getElementById('demo');
var liList = ul.getElementsByTagName('li');
var lilength =  liList.length;
for (var i = 0; i 
< lilength; i++) {
    ul.removeChild(liList[0]);
}

q行代码Q才真正3个li都被删除?/p>

通过q?个例子的ҎQ相信你已经发现其中的问题?/p>

当然例子没什么实际意义,但可以看出removeChild 删除元素后,对html的即时媄响?/p>

做项目用时Q需要注意下?/p>

或者可以用以下代码实现Q?br />

var ul = document.getElementById('demo');
while (ul.lastChild){
   ul.removeChild(ul.lastChild);

}

看这U方式是不是更好

while(liList.length){
  ul.removeChild(liList[liList.length-1])
}

form:http://www.cssrain.cn/article.asp?id=1413






]]>
html Ҏ表单 1http://www.aygfsteel.com/gen-sky/articles/298524.html星期?/dc:creator>星期?/author>Mon, 09 Nov 2009 09:34:00 GMThttp://www.aygfsteel.com/gen-sky/articles/298524.htmlhttp://www.aygfsteel.com/gen-sky/comments/298524.htmlhttp://www.aygfsteel.com/gen-sky/articles/298524.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/298524.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/298524.html                 <tr>
                    <td>
                        <fieldset style=" color: #B7B7B7; border-style: groove"
                            align="center">
                            <legend style="color: blue; border: 1 solid #000000">
                                查询条g
                            </legend>
                            <br>
                            h旉:
                            <input type="text" name="beginDate" class="date-pick"
                                id="begindate">
                            l止旉:
                            <input type="text" name="endDate" class="date-pick" id="enddate">
                            <logic:empty name="loginTutor">
                        教师:<select name="tutor">
                                    <option value="">
                                        请选择一名教?br />                                     </option>
                                    <logic:iterate id="tutor" name="tutorList">
                                        <option value="${tutor.tutorId }">
                                            ${tutor.tutorName }
                                        </option>
                                    </logic:iterate>
                                </select>
                            </logic:empty>
                            <input type="submit" name="search" value="查询">
                        </fieldset>

                    </td>
                </tr>
            </table>

]]>
[转]主题Qweb2.0前端优化http://www.aygfsteel.com/gen-sky/articles/301685.html星期?/dc:creator>星期?/author>Mon, 09 Nov 2009 09:32:00 GMThttp://www.aygfsteel.com/gen-sky/articles/301685.htmlhttp://www.aygfsteel.com/gen-sky/comments/301685.htmlhttp://www.aygfsteel.com/gen-sky/articles/301685.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/301685.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/301685.html
    2.压羃静态资源文Ӟ包括css、javascript和图片,通常全站都引用相同的css和jsQ所以压~会较大E度提高|站的性能。图片的压羃前后 大小变化是非常明昄Q特别是大图片(几M的)位于全站首页Q很有可能导致服务器挂掉。如果有必要也可以压~HTML自n的页面?
    3.使用良好的结构,删除不必要的html元素Q尽量用css布局来代替表格布局?
    4. 适当使用ajax来加载和h局部数据,使用json而不是xml格式传输数据。json是一U轻量的数据交换格Q本w就是javascript的子集,操作h非常ѝ?
    5. 对资源用多个域来增加链接,因ؓ览器在单个域都有ƈ发连接的数量限制。如果是多个独立域,那浏览器开多个U程同时d载数据。图片服务器的域名可? 是一些垃圑֟名,如:ȝwww.8qiu.cn 囄的服务器的域名可以是www.8qiuimg005.cn?
    6. 使用 PNG 格式的图像,png兼有gif和jpg的色彩模式,且非帔R于|络传输Q但又能保留所有与囑փ品质有关的信息的解决Ҏ?
    7. 不要加蝲不需要的资源
    8. 瘦ncookieQ虽然相对其他它可能是很的文gQ但是浏览器仍然需要下载它们。较大的 cookie 所需的下载时间更长,q而增加了览器加载网늚旉?
    9. httpwatch、httpfox、firefox的工L使用Q查看headers, cookies, caching?POST提交的数据,查看js{其他静态资源的加蝲旉。进而做出针Ҏ的优化

]]>
msn showimage http://www.aygfsteel.com/gen-sky/articles/301053.html星期?/dc:creator>星期?/author>Wed, 04 Nov 2009 06:19:00 GMThttp://www.aygfsteel.com/gen-sky/articles/301053.htmlhttp://www.aygfsteel.com/gen-sky/comments/301053.htmlhttp://www.aygfsteel.com/gen-sky/articles/301053.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/301053.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/301053.html

]]>
tip 实例 一 http://www.aygfsteel.com/gen-sky/articles/300822.html星期?/dc:creator>星期?/author>Tue, 03 Nov 2009 01:16:00 GMThttp://www.aygfsteel.com/gen-sky/articles/300822.htmlhttp://www.aygfsteel.com/gen-sky/comments/300822.htmlhttp://www.aygfsteel.com/gen-sky/articles/300822.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/300822.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/300822.html <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<meta name="Author" content="Aultoale" />
<style type="text/css">
body {font:normal 12px Verdana}

a#tip {position:relative;left:75px; font-weight:bold;}
a#tip:link,a#tip:hover {text-decoration:none;color:#000;display:block}
a#tip span {display:none;text-decoration:none;}
a#tip:visited {color:#000;text-decoration:underline;}
a#tip:hover #tip_info {display:block;border:1px solid #F96;background:#FFEFEF;padding:10px 20px;position:absolute;top:0px;left:90px;color:#009933}
</style>
</head>
<body>
<a id="tip" href="#">
Udq里试试!
<span id="tip_info">q里是提CZ?</span>
</a>
</body>

]]>
[转] CSS的几U选择?/title><link>http://www.aygfsteel.com/gen-sky/articles/294577.html</link><dc:creator>星期?/dc:creator><author>星期?/author><pubDate>Thu, 10 Sep 2009 06:06:00 GMT</pubDate><guid>http://www.aygfsteel.com/gen-sky/articles/294577.html</guid><wfw:comment>http://www.aygfsteel.com/gen-sky/comments/294577.html</wfw:comment><comments>http://www.aygfsteel.com/gen-sky/articles/294577.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/gen-sky/comments/commentRss/294577.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/gen-sky/services/trackbacks/294577.html</trackback:ping><description><![CDATA[Sealyu 2009-9-9<br />    转自Qhttp://www.aygfsteel.com/sealyu/archive/2009/09/09/294479.html<br /> <br /> 一直对q个地方p里p涂Q这ơ借了一本书Q争取将css强化一?<br /> CSS的几U选择器:<br /> <ul> <li>标记选择器:</li> </ul>     定义html或者xhtml标签的通用CSS样式Q定义语句前无前~。例如:<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #800000;"><style><br /> h1</span><span style="color: #000000;">{</span><span style="color: #ff0000;"><br />   color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">red<br /> </span><span style="color: #000000;">}</span><span style="color: #800000;"><br /> </style><br /> <h1>This is test.</h1><br /> </span></div> <br /> <ul> <li>cd选择器:</li> </ul>     通过定义单独的class来定义对应样式,定义语句前缀?'.'。例如:<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #800000;"><style><br /> .red</span><span style="color: #000000;">{</span><span style="color: #ff0000;"><br />   color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">red<br /> </span><span style="color: #000000;">}</span><span style="color: #800000;"><br /> </style><br /> <p class="red">xxxxxx</p><br /> </span></div> <br /> <ul> <li>ID选择器:</li> </ul>     通过对应html元素的标{ID来定义对应样式,定义语句前缀?'#'。例如:<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #800000;"><style><br /> #</span><span style="color: #800000;">firstPar</span><span style="color: #000000;">{</span><span style="color: #ff0000;"><br />   color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">red<br /> </span><span style="color: #000000;">}</span><span style="color: #800000;"><br /> </style><br /> </span><span style="color: #800000;"><p id="firstPar">xxxxxx</p></span><br /> </div> <br /> <ul> <li>复合选择?</li> </ul> <br /> 另外Q可以通过q几U选择器组合定义复合选择器,例如Q?br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #800000;"><style><br /> p</span><span style="color: #000000;">{</span><span style="color: #ff0000;"><br />   color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">red<br /> </span><span style="color: #000000;">}</span><span style="color: #800000;"><br /> p .firstPar</span><span style="color: #000000;">{</span><span style="color: #ff0000;"><br />   color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">blue<br /> </span><span style="color: #000000;">}</span><span style="color: #800000;"><br /> .firstPar</span><span style="color: #000000;">{</span><span style="color: #ff0000;"><br />   color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">green<br /> </span><span style="color: #000000;">}</span><span style="color: #800000;"><br /> </style><br /> <p>普通段?lt;/p><br /> <p class="firstPar">W一D?lt;/p><br /> <h1 class="firstPar">W一D|?lt;/h1></span></div> <br /> <ul> <li>全局选择器:</li> </ul> 如果惌一个页面中所有html标记使用同一U样式,可以定义一U全局选择器: '*'。例如:<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #800000;"><style><br /> *</span><span style="color: #000000;">{</span><span style="color: #ff0000;"><br />   color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">red</span><span style="color: #000000;">;</span><span style="color: #ff0000;"><br />   font-size</span><span style="color: #000000;">:</span><span style="color: #0000ff;">10px<br /> </span><span style="color: #000000;">}</span><span style="color: #800000;"><br /> </style><br /> <p>普通段?lt;/p><br /> <p>W一D?lt;/p><br /> <h1>W一D|?lt;/h1></span></div> <br /> <ul> <li> 后代选择器:</li> </ul> 可以通过嵌套的方式,对特D位|的html标记q行声明。后代选择器的写法是把外层的标记写在前面Q内层的标记写在后面Q之间用I格分隔。当标记发生嵌套Ӟ内层的标记就成ؓ外层标记的后代。例如:<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #800000;"><style><br /> p span</span><span style="color: #000000;">{</span><span style="color: #ff0000;"><br />   color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">red</span><span style="color: #000000;">;</span><span style="color: #ff0000;"><br />   font-size</span><span style="color: #000000;">:</span><span style="color: #0000ff;">10px<br /> </span><span style="color: #000000;">}</span><span style="color: #800000;"><br /> span</span><span style="color: #000000;">{</span><span style="color: #ff0000;"><br />   color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">green<br /> </span><span style="color: #000000;">}</span><span style="color: #800000;"><br /> </style><br /> <p>嵌套?lt;span>用CSS</span>标记的方?lt;/p><br /> 嵌套之外?lt;span>标记</span>不生?/span></div> <br /> <img src ="http://www.aygfsteel.com/gen-sky/aggbug/294577.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/gen-sky/" target="_blank">星期?/a> 2009-09-10 14:06 <a href="http://www.aygfsteel.com/gen-sky/articles/294577.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js 代码压羃http://www.aygfsteel.com/gen-sky/articles/292538.html星期?/dc:creator>星期?/author>Tue, 25 Aug 2009 09:49:00 GMThttp://www.aygfsteel.com/gen-sky/articles/292538.htmlhttp://www.aygfsteel.com/gen-sky/comments/292538.htmlhttp://www.aygfsteel.com/gen-sky/articles/292538.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/292538.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/292538.html    1.压羃多余的空格和换行W?br />    2.删除注释Q因为注释只对程序员有用而对于浏览网늚最l用h无用的,删除可以减少文g体积?br />    3.把较长的变量名称和过E名U统一替换为很短的名称Q一者可以减体U,二者还可以减少E序的可L,保护代码产权.

JS 的速度分ؓ两种Q下载速度和执行速度。要想JS的下载速度快,需要尽量减js文g的大,另外Q把多个js文g合ƈ成一个也能因为减服务器的响应次数而加快网下载?br />


YUI Compressor 压羃 JavaScript 的内容包括:

  1. U除注释
  2. U除额外的空?
  3. l微优化
  4. 标识W替换(Identifier ReplacementQ?

YUI Compressor 包括哪些l微优化呢?

  • object["property"] Q如果属性名是合法的 JavaScript 标识W(注:合法?JavaScript 标识W——由一个字母开_其后选择性地加上一个或者多个字母、数字或下划U)且不是保留字Q将优化为: object.property
  • {"property":123} Q如果属性名是合法的 JavaScript 标识W且不是保留字,优化ؓ {property:123} Q注Q在对象字面量中Q如果属性名是一个合法的 JavaScript 标识W且不是保留字,q不强制要求用引号引住属性名Q?
  • 'abcd"'efgh'Q将优化?"abcd'efgh"?
  • "abcd" + "efgh"Q如果是字符串相q接Q将优化?"abcdefgh"Q注Q所有在使用 YUI Compressor 的前提下Q对于脚本中的字W串q接Q用连接符 “+” 的效率和可维护性最高)?

对于 JavaScript 最有效的压~优化,当属标识W替换?/p>

比如Q?/p>

(function(){
    function add(num1, num2) {
        return num1 + num2;
    }
})();

q行属标识符替换后:

(function(){
    function A(C, B) {
        return C+ B;   
}
})();

再移除额外的I格Q最l成了:

(function(){function A(C,B){return C+B;}})();

YUI Compressor 标识W替换仅替换函数名和变量名,那哪些不能被替代呢?

  1. 原始|字符丌Ӏ布倹{数字、null ? undefined。一般来说字W串占的I间最多,而非数字字面量其ơ(true、falseQnullQunderfindedQ?
  2. 全局变量Qwindow、document、XMLHttpRequest{等。用最多的是 document、window?
  3. 属性名Q比如:foo.bar。占据的I间仅次于字W串Q?#8221;.” 操作W无法被代替Q且 a.b.c 更加费空间?
  4. 关键字。经常被q度使用的关键字有:var、return。最好的优化ҎQ一个函C出现一?var ?return 关键字?

对于原始倹{全局变量、属性名的优化处理方式大致相同:M字面量倹{全局变量或者属性名被用超q?2 ơ(包括2ơ)Q都应该用局部变量存储代ѝ?/strong>

但有部分情况下是止使用标识W替换的Q?/p>

  1. 使用 eval() 函数。解x法:不用或者创Z个全局函数装 eval()?
  2. 使用 with 语句。解x法:Ҏ同上?
  3. JScript 的条件注释。唯一解决的方法:不用?



]]>
[转] insertAdjacentHTML和insertAdjacentText Ҏ http://www.aygfsteel.com/gen-sky/articles/289230.html星期?/dc:creator>星期?/author>Fri, 31 Jul 2009 03:17:00 GMThttp://www.aygfsteel.com/gen-sky/articles/289230.htmlhttp://www.aygfsteel.com/gen-sky/comments/289230.htmlhttp://www.aygfsteel.com/gen-sky/articles/289230.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/289230.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/289230.html    dHTML内容与文本内容以前用的是innerHTML与innerTextҎQ最q发觉还有insertAdjacentHTML和insertAdjacentText要领Q这两个要领更灵z,可以在指定的地点插入html内容和文本内宏V?br /> insertAdjacentHTML要领Q在指定的地Ҏ入html标签语句

原型QinsertAdajcentHTML(swhere,stext)

参数Q?br />
swhere: 指定插入html标签语句的地点,有四U值可用:

1.     beforeBegin: 插入到标{ּ始前

2.     afterBegin:插入到标{ּ始标C?br />
3.     beforeEnd:插入到标{束标记前

4.     afterEnd:插入到标{束标记后

stextQ要插入的内?br />
 1 
 2 DEOM:
 3 
 4 <html>
 5 
 6    <head>
 7 
 8     <script language="javascript">
 9 
10        function myfun()
11 
12          {
13 
14              var obj = document.getElementById("btn1");
15 
16               obj.insertAdjacentHTML("afterEnd","<br><input name=\"txt1\">");
17 
18          }
19 
20       </script>
21 
22    </head>
23 
24    <body>
25 
26      <input name="txt">
27 
28      <input id="btn1" name="btn1" type="button" value="更多" onclick="myfun()">
29 
30    </body>
31 
32 </html>






]]>
[转] 兼容IE、FF的insertAdjacentHTMLҎhttp://www.aygfsteel.com/gen-sky/articles/289228.html星期?/dc:creator>星期?/author>Fri, 31 Jul 2009 03:15:00 GMThttp://www.aygfsteel.com/gen-sky/articles/289228.htmlhttp://www.aygfsteel.com/gen-sky/comments/289228.htmlhttp://www.aygfsteel.com/gen-sky/articles/289228.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/289228.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/289228.html 1 
 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 3 <HTML>
 4     <HEAD>
 5         <TITLE>New Document</TITLE>
 6         <META NAME="Generator" CONTENT="EditPlus">
 7         <META NAME="Author" CONTENT="">
 8         <META NAME="Keywords" CONTENT="">
 9         <META NAME="Description" CONTENT="">
10         <script type="text/javascript">  
11     <!--  
12       function insertHtml(where, el, html){  
13           where = where.toLowerCase();  
14           if(el.insertAdjacentHTML){  
15               switch(where){  
16                  case "beforebegin":  
17                      el.insertAdjacentHTML('BeforeBegin', html);  
18                    return el.previousSibling;  
19                 case "afterbegin":  
20                     el.insertAdjacentHTML('AfterBegin', html);  
21                     return el.firstChild;  
22                 case "beforeend":  
23                     el.insertAdjacentHTML('BeforeEnd', html);  
24                      return el.lastChild;  
25                  case "afterend":  
26                      el.insertAdjacentHTML('AfterEnd', html);  
27                     return el.nextSibling;  
28              }  
29              throw 'Illegal insertion point -> "' + where + '"';  
30           } else {  
31                var range = el.ownerDocument.createRange();  
32                var frag;  
33                switch(where){  
34                     case "beforebegin":  
35                       range.setStartBefore(el);  
36                        frag = range.createContextualFragment(html);  
37                       el.parentNode.insertBefore(frag, el);  
38                        return el.previousSibling;  
39                    case "afterbegin":  
40                       if(el.firstChild){  
41                           range.setStartBefore(el.firstChild);  
42                            frag = range.createContextualFragment(html);  
43                           el.insertBefore(frag, el.firstChild);  
44                           return el.firstChild;  
45                       }else{  
46                            el.innerHTML = html;  
47                            return el.firstChild;  
48                      }  
49                   case "beforeend":  
50                       if(el.lastChild){  
51                          range.setStartAfter(el.lastChild);  
52                          frag = range.createContextualFragment(html);  
53                          el.appendChild(frag);  
54                          return el.lastChild;  
55                        }else{  
56                           el.innerHTML = html;  
57                            return el.lastChild;  
58                      }  
59                 case "afterend":  
60                       range.setStartAfter(el);  
61                      frag = range.createContextualFragment(html);  
62                      el.parentNode.insertBefore(frag, el.nextSibling);  
63                      return el.nextSibling;  
64                   }  
65                    throw 'Illegal insertion point -> "' + where + '"';  
66          }  
67     }  
68        
69      -->  
70   </script>
71     </HEAD>
72 
73     <BODY>
74         <div id="aa">
75             click the button to insertAdjacentHTML
76             <br />
77         </div>
78         <input type="button" value='add' onclick="add();" />
79     </BODY>
80 </HTML>
81 <SCRIPT LANGUAGE="JavaScript">  
82    <!--  
83    var index = 0;  
84    function add() {  
85        insertHtml("afterBegin",document.getElementById("aa"),"<input type='text' value=" + index++ + " /><br/>");  
86        insertHtml("beforeEnd",document.getElementById("aa"),"<input type='text' value=" + index++ + " /><br/>");  
87    }  
88   //-->  
89    </SCRIPT>
90 

]]>
window ?dialogarguments ? showmodeldialoghttp://www.aygfsteel.com/gen-sky/articles/286029.html星期?/dc:creator>星期?/author>Thu, 09 Jul 2009 02:25:00 GMThttp://www.aygfsteel.com/gen-sky/articles/286029.htmlhttp://www.aygfsteel.com/gen-sky/comments/286029.htmlhttp://www.aygfsteel.com/gen-sky/articles/286029.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/286029.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/286029.html阅读全文

]]>
javascript 对象创徏http://www.aygfsteel.com/gen-sky/articles/285943.html星期?/dc:creator>星期?/author>Wed, 08 Jul 2009 05:53:00 GMThttp://www.aygfsteel.com/gen-sky/articles/285943.htmlhttp://www.aygfsteel.com/gen-sky/comments/285943.htmlhttp://www.aygfsteel.com/gen-sky/articles/285943.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/285943.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/285943.html 1     function WebFXTreeAbstractNode() {
 2             alert(2);
 3             this.books = "123456";
 4         }
 5         
 6         function person(firstname,lastname,age,eyecolor)
 7         {
 8             this.firstname=firstname
 9             this.lastname=lastname
10             this.age=age
11             this.eyecolor=eyecolor
12         }
13         person.prototype = new WebFXTreeAbstractNode;
14         person.prototype.toString = function(){
15             return    this.firstname + " 的年龄是 " + this.age + " 岁?/span>" + this.books+"  is books ";
16         }
17         
18         var    myFather=new person("John","Adams",35,"black");
19         
20         document.write(myFather);
21   

]]>
ECMAScript Boolean q算W特?/title><link>http://www.aygfsteel.com/gen-sky/articles/285924.html</link><dc:creator>星期?/dc:creator><author>星期?/author><pubDate>Wed, 08 Jul 2009 03:28:00 GMT</pubDate><guid>http://www.aygfsteel.com/gen-sky/articles/285924.html</guid><wfw:comment>http://www.aygfsteel.com/gen-sky/comments/285924.html</wfw:comment><comments>http://www.aygfsteel.com/gen-sky/articles/285924.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/gen-sky/comments/commentRss/285924.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/gen-sky/services/trackbacks/285924.html</trackback:ping><description><![CDATA[  推荐教程Qhttp://www.w3school.com.cn/js/as_js_operators_boolean.asp<br /> <br /> <strong>逻辑q算W?OR'Ҏ:</strong><br />   <br /> ?Q?br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #000000;"><</span><span style="color: #000000;">script 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;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">2</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">var</span><span style="color: #000000;"> a1 </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">3</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">var</span><span style="color: #000000;"> a2 </span><span style="color: #000000;">=</span><span style="color: #000000;"> '</span><span style="color: #000000;">456</span><span style="color: #000000;">';<br /> </span><span style="color: #008080;">4</span> <span style="color: #000000;">    </span><span style="color: #0000ff;">var</span><span style="color: #000000;"> a3 </span><span style="color: #000000;">=</span><span style="color: #000000;"> a1 </span><span style="color: #000000;">||</span><span style="color: #000000;"> a2;<br /> </span><span style="color: #008080;">5</span> <span style="color: #000000;">    alert(a3);<br /> </span><span style="color: #008080;">6</span> <span style="color: #000000;"></</span><span style="color: #000000;">script</span><span style="color: #000000;">></span></div> q回l果Q <strong>true;</strong><br /> ?:<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #000000;"><</span><span style="color: #000000;">script 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;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">2</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">var</span><span style="color: #000000;"> a1 </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br /> </span><span style="color: #008080;">3</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">var</span><span style="color: #000000;"> a2 </span><span style="color: #000000;">=</span><span style="color: #000000;"> '</span><span style="color: #000000;">456</span><span style="color: #000000;">';<br /> </span><span style="color: #008080;">4</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">var</span><span style="color: #000000;"> a3 </span><span style="color: #000000;">=</span><span style="color: #000000;"> a1 </span><span style="color: #000000;">||</span><span style="color: #000000;"> a2;<br /> </span><span style="color: #008080;">5</span> <span style="color: #000000;">        alert(a3);<br /> </span><span style="color: #008080;">6</span> <span style="color: #000000;"></</span><span style="color: #000000;">script</span><span style="color: #000000;">></span></div> q回l果Q <strong>456</strong><br /> ?Q?br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;">1</span> <span style="color: #000000;"><</span><span style="color: #000000;">script 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;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">2</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">var</span><span style="color: #000000;"> a1 </span><span style="color: #000000;">=</span><span style="color: #000000;"> '</span><span style="color: #000000;">123</span><span style="color: #000000;">';<br /> </span><span style="color: #008080;">3</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">var</span><span style="color: #000000;"> a2 </span><span style="color: #000000;">=</span><span style="color: #000000;"> '</span><span style="color: #000000;">456</span><span style="color: #000000;">';<br /> </span><span style="color: #008080;">4</span> <span style="color: #000000;">        </span><span style="color: #0000ff;">var</span><span style="color: #000000;"> a3 </span><span style="color: #000000;">=</span><span style="color: #000000;"> a1 </span><span style="color: #000000;">||</span><span style="color: #000000;"> a2;<br /> </span><span style="color: #008080;">5</span> <span style="color: #000000;">        alert(a3);<br /> </span><span style="color: #008080;">6</span> <span style="color: #000000;"></</span><span style="color: #000000;">script</span><span style="color: #000000;">></span></div> q回l果Q?nbsp;<strong> 123</strong><br /> <br /> l论Q?nbsp; q算W检查前面,如果?true,则不再检查后面?br /> <img src ="http://www.aygfsteel.com/gen-sky/aggbug/285924.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/gen-sky/" target="_blank">星期?/a> 2009-07-08 11:28 <a href="http://www.aygfsteel.com/gen-sky/articles/285924.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˹</a>| <a href="http://" target="_blank">崨</a>| <a href="http://" target="_blank">е</a>| <a href="http://" target="_blank">ͭ</a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">綫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank">̩</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">γ</a>| <a href="http://" target="_blank">̫ԭ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˱</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ʶ</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>