Я не уверен, полезно ли или когда (для повышения производительности) разыменовывать переменные.
var x = a.b.c.d[some_key].f;
while (loop) {
do_something_with(x);
}
кажется лучше, чем
while (loop) {
do_somthing_with(a.b.c.d[some_key].f);
}
Это нужно или это делается автоматически с помощью умных движков JavaScript?
Но мой вопрос заключается в том, должен ли я сделать это, например, в библиотеке.
(function() {
var slice = Array.prototype.slice;
Function.prototype.x = function x() {
var args = slice.call(arguments, 0);
...
};
})();
или просто
Function.prototype.x = function x() {
var args = Array.prototype.slice.call(arguments, 0);
...
};
Двигатель не может улучшить это автоматически, потому что он не знает, может ли Array.prototype.slice
измениться во время работы.
Итак: делает ли замыкание для создания локальной ссылки на функцию слайса сценарий быстрее? Или дополнительная область замыкания делает его медленнее, чем доступ к свойству "slice" свойства "prototype" Array?