|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
大大缩减页面代码,提高页面浏览速度,缩减带宽成本;
网页制造poluoluo文章简介:YUICompressor紧缩JavaScript的内容.
YUICompressor紧缩JavaScript的内容包含:
- 移除正文
- 移除分外的空格
- 渺小优化
- 标识符交换(IdentifierReplacement)
YUICompressor包含哪些渺小优化呢?
- object["property"],假如属性名是正当的JavaScript标识符(注:正当的JavaScript标识符——由一个字母开首,厥后选择性地加上一个大概多个字母、数字或下划线)且不是保存字,将优化为:object.property
- {"property":123},假如属性名是正当的JavaScript标识符且不是保存字,将优化为{property:123}(注:在工具字面量中,假如属性名是一个正当的JavaScript标识符且不是保存字,其实不强迫请求用引号引住属性名)。
- abcdefgh,将优化为"abcdefgh"。
- "abcd"+"efgh",假如是字符串相毗连,将优化成"abcdefgh"(注:一切在利用YUICompressor的条件下,关于剧本中的字符串联接,利用毗连符“+”的效力和可保护性最高)。
关于JavaScript最无效的紧缩优化,当属标识符交换。
好比:
(function(){
functionadd(num1,num2){
returnnum1+num2;
}
})();
举行属标识符交换后:
(function(){
functionA(C,B){
returnC+B;
}
})();
再移除分外的空格,终极成了:
(function(){functionA(C,B){returnC+B;}})();
YUICompressor标识符交换仅交换函数名和变量名,那哪些不克不及被替换呢?
- 原始值:字符串、布尔值、数字、null和undefined。一样平常来讲字符串占的空间最多,而非数字字面量其次(true、false,null,underfinded)。
- 全局变量:window、document、XMLHttpRequest等等。利用最多的就是document、window。
- 属性名,好比:foo.bar。占有的空间仅次于字符串,”.”操纵符没法被取代,且a.b.c加倍费空间。
- 关头字。常常被过分利用的关头字有:var、return。最好的优化办法:一个函数仅呈现一次var和return关头字。
关于原始值、全局变量、属性名的优化处置体例大抵不异:任何字面量值、全局变量大概属性名被利用凌驾2次(包含2次),都应当用部分变量存储取代。
但有部分情形下是克制利用标识符交换的:
- 利用eval()函数。办理办法:不利用大概创立一个全局函数封装eval()。
- 利用with语句。办理办法:办法同上。
- JScript的前提正文。独一办理的办法:不利用。
因为YUICompressor是创建在rhinointerpreter基本上的,以是上述一切的优化都是平安的。
扩大浏览:
《ExtremeJavaScriptCompressionWithYUICompressor》
业界越来越关注DIV+CSS的标准化设计,大到各大门户网站,小到不计其数的个人网站。 |
|