javascript - 下面这段代码是什么啥意思?
迷茫
迷茫 2017-04-10 14:52:22
[JavaScript讨论组]

下面这段代码是什么意思,以及为什么这么写就能减少编译后的代码尺寸呢?有知道的吗,本人对CC不熟悉。

// A few optimizations for Google Closure Compiler
// will save us a couple kb in the release script.
var object = Object, array = Array, regexp = RegExp,
    date = Date, string = String, number = Number,
    math = Math, Undefined;
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
天蓬老师

普通写法

var begin=new Date();
var end=new Date();
console.log(begin.getTime()-end.getTime());

压缩后

var a=new Date();
var b=new Date();
console.log(a.getTime()-b.getTime());

这里的写法

var date=Date;
var begin=new date();
var end=new date();
console.log(begin.getTime()-end.getTime());

压缩后

var d=Date;
var a=new d();
var b=new d();
console.log(a.getTime()-b.getTime());
巴扎黑

注释中写了for Google Closure Compiler

这玩意一般用来压缩,比如

var a_very_log_variable_name;
var a_very_long_function_name = function() {
    do_sth_with(a_very_log_variable_name);
}
a_very_long_function_name();

压缩之后,所有的变量名,都被改写成尽可能短的字符串以减小体积:

var a;var b=function(){do_sth_with(a)};b();

那么问题来了,全局变量怎么压缩?这玩意不是我自己声明的,名字不是说改就能改的,如果我的脚本中用到同一个全局变量很多次,又不能压缩,怎么办?

起个别名不就行了? 新技能get√

利用重命名方式压缩的时候 ,只需要重命名别名

var object = Object;
var aaaaa = new object();
var bbbbb = new object();
var ccccc = new object();
var ddddd = new object();
var eeeee = new object();

被压缩为

var o=Object,a=new o(),b=new o(),c=new o(),d=new o(),e=new o();
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号