例如
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 事件处理程序中 - 这不是必需的,但却是一个很好的做法”
回应:我知道。但我们有很多很多的网络系统,它们很少完全遵循良好的实践。
“此外,直接使用内置方法使代码更具可读性” 回应:鉴于这两个例子,我认为后者更具可读性
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)
最佳答案
你的意思是
var w = document.getElementById
?
此链接详细解释了为什么您不应该这样做:JavaScript function aliasing doesn't seem to work
关于javascript - 复制对 native JavaScript 方法的引用是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4880535/