我将使用Luke Rodgers的Backbone和Underscore externs,但无法理解为什么
例如,在Backbone 0.9.2中,以下代码(193:195):
如果我包含另一个JavaScript文件:
_.extend
在编译输出中被修改。例如,在Backbone 0.9.2中,以下代码(193:195):
if (defaults = getValue(this, 'defaults')) {
attributes = _.extend({}, defaults, attributes);
}
编译后被转换为:
if(c=r(this,"defaults"))a=f.extend({},c,a);
我使用了以下编译命令:
java -jar compiler.jar
--externs backbone-0.9.2-externs.js
--externs underscore-1.3.3-externs.js
--compilation_level ADVANCED_OPTIMIZATIONS
--js underscore-1.3.3.js
--js backbone-0.9.2.js
--js_output_file compiled.js
如果我包含另一个JavaScript文件:
--js test.js
包含以下内容:
_.extend({}, {name: 'test'});
这段代码在compiled.js
文件中未被修改。
有人知道为什么在backbone.js中调用_.extend
会被修改吗?