javascript - 复制对 native JavaScript 方法的引用是否安全?

标签 javascript reference native

例如

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/

相关文章:

reference - 删除的迁移文件 - Laravel

c# - 删除与引用冲突

android - 原生崩溃? Android 6.0 崩溃毫无意义

c# - 如何从 C# 调用 native 库?

javascript - 如何在amCharts中使用dataLoader获取数据?

javascript - 导出为 Pdf Angular 6

c++ - 控制 `T` 绑定(bind)什么样的引用

android - 从 native 代码查找 Dalvik 堆栈上 Java 局部变量的内存地址

javascript - 强制 jQuery 在页面加载完成后运行?

javascript - 从相册中选择图片时无法读取文件大小