【发布时间】:2012-05-02 20:07:35
【问题描述】:
可能重复:
JavaScript === vs == : Does it matter which “equal” operator I use?
在 JavaScript 中比较相同类型的两个操作数是否相等时,使用 == 或 === 在概念上没有任何区别,所以我想知道哪个运算符实际上更快,例如在我的情况下, JavaScript 文件必须从远程 Internet 位置下载。
虽然严格相等运算符 === 可能在许多用户代理上执行得更快,但它还需要 8 位以上的未压缩信息与 JavaScript 文件一起在网络上传输。
碰巧的是,今天的平均 CPU 在执行数百个条件跳转时比 Internet 连接在提供单个位时要快得多,所以我热衷于使用 == 而不是 === 和 != !== 在可能的情况下。然而,阅读这么多推荐相反的博客,我感到很困惑。
有什么我遗漏的重点吗?
【问题讨论】:
-
我认为它在概念上有所不同
-
“多 8 位未压缩信息”并不意味着再发送 8 位。如果 JS 文件以 gzip 格式提供,那 1 个额外的字符几乎没有什么区别。
-
宽松和严格有不同的目的。你无法比较两个运作方式不同的东西。
-
-1 从性能角度比较这些运算符的问题是 IMO 的一个坏问题。它们完全不同。
-
@bažmegakapa:不,在问题中提到的两个操作数保证为相同类型的情况下,它们是相同的。
标签: javascript performance download comparison-operators