在使用谷歌封闭器时,采用以下代码:
function add(v1, v2){
return {x: v1.x + v2.x, y: v1.y + v2.y};
}
function lengthSq(vec){
return vec.x*vec.x+vec.y*vec.y;
}
function test(v11, v12, v21, v22) {
return lengthSq(add({x:v11, y:v12},{x:v21, y:v22}));
}
window[ func ]=test;
我取得了这一令人不满意的结果:
window.func = function(b, c, a, d) {
b = {x:b, y:c};
a = {x:a, y:d};
a = {x:b.x + a.x, y:b.y + a.y};
return a.x * a.x + a.y * a.y
};
我希望:
window.func = function(a, b, c, d) {
return (a+c) * (a+c) + (b+d) * (b+d)
};
这里的真正问题是,我需要储存属性价值,以便我能够从职能中获得多重回报价值。 就我所知,没有其他办法获得多重回返价值。 起初,我曾希望,“结业者”会给我消除这些障碍,但似乎并非如此。
www.un.org/Depts/DGACM/index_spanish.htm 能否有一个实用或面向目标的javascript图书馆,该图书馆可产生相当于最佳范例的产出代码?
我相信,我的业绩测试守则存在缺陷,因为无属性守则在 Chrome和 Firefox上几乎是100倍,在歌剧上是12倍,而在IEE9上是4倍。
performance test of this code: http://jsperf.com/closure-compiler-vs-hand-optimized-vectors