Например,
var w = document.getElementById;
var b = w('header');
var c = w('footer');
var d = w('body');
Редактировать: Точка с запятой - еще один из этих больших аргументов.Я думал, что отредактирую вопрос для развлечения.
Редактировать: Ответы на комментарии Andrey найдены на его ответ.
«Как копирование ссылок делает его более эффективным с JS-компиляторами?»
Ответ: JS-компиляторы предназначены для сокращения и / или запутывания кода.Если бы было 40 вызовов document.getElementById(..)
, было бы гораздо компактнее, если бы они вызывали getById(..)
, который был бы переименован во что-то вроде O(..)
.
"Также, когда вы обрабатываете элемент htmlсобытия, вы обычно указываете метод js, и внутри метода вы помещаете логику, а не непосредственно в обработчики событий html - это не требуется, но рекомендуется »
Ответ: Iзнать.Но у нас много веб-систем, и они редко полностью следуют хорошей практике.
"Кроме того, использование встроенных методов напрямую делает код более читабельным" Ответ: Учитывая эти два примера, я думаю, что последний является более читабельным
document.getElementById('total').value = document.getElementById('subtotal').value + document.getElementById('salestax').value - document.getElementById('discount').value
document.getElementById('yousaved').value = document.getElementById('discount').value / (document.getElementById('subtotal').value + document.getElementById('salestax').value)
или
var byId = document.getElementById
byId('total').value = byId('subtotal').value + byId('salestax').value - byId('discount').value
byId('yousaved').value = byId('discount').value / (byId('subtotal').value + byId('salestax').value)