Don't use function.apply; it's slower.

This commit is contained in:
Mike Bostock 2012-09-29 15:54:07 -07:00
Родитель 4d49ef72b3
Коммит fb449fca26
3 изменённых файлов: 12 добавлений и 8 удалений

6
d3.v2.js поставляемый
Просмотреть файл

@ -1957,12 +1957,14 @@
}
function d3_geo_compose(a, b) {
function compose(λ, φ) {
return b.apply(b, a(λ, φ));
var coordinates = a(λ, φ);
return b(coordinates[0], coordinates[1]);
}
if (a === d3_geo_equirectangular) return b;
if (b === d3_geo_equirectangular) return a;
if (a.invert && b.invert) compose.invert = function(x, y) {
return a.invert.apply(a, b.invert(x, y));
var coordinates = b.invert(x, y);
return a.invert(coordinates[0], coordinates[1]);
};
return compose;
}

8
d3.v2.min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -4,11 +4,13 @@ function d3_geo_compose(a, b) {
if (b === d3_geo_equirectangular) return a;
function compose(λ, φ) {
return b.apply(b, a(λ, φ));
var coordinates = a(λ, φ);
return b(coordinates[0], coordinates[1]);
}
if (a.invert && b.invert) compose.invert = function(x, y) {
return a.invert.apply(a, b.invert(x, y));
var coordinates = b.invert(x, y);
return a.invert(coordinates[0], coordinates[1]);
};
return compose;