Кто-то недавно сказал мне, что это плохо:
var el = $("#myID");
$(el).addClass("a");
$(el).addClass("b");
$(el).addClass("c");
и что оно должно быть кэшировано так:
var $el = $("#myID");
$el.addClass("a");
$el.addClass("b");
$el.addClass("c");
Итак, мой вопрос, почему это не такоптимизироваться автоматически?В Java и других языках я думаю , что компилятор достаточно умен, чтобы выполнять кеширование самостоятельно.
то есть, это:
// myList is a List<String>
String str = myList.get(0);
String trimmed = str.trim();
String sub = str.substring(0, 5);
boolean abc = str.startsWith("abc");
не более эффективен, чем этот:
String trimmed = myList.get(0).trim();
String sub = myList.get(0).substring(0, 5);
boolean abc = myList.get(0).startsWith("abc");
Может ли кто-нибудь, кто знает больше о компиляторах, дать мне некоторое представление здесь?JavaScript просто такой тупой?Или это также верно для Java / других?