gpt4 book ai didi

javascript - 'evil' 等式会减慢代码速度吗?

转载 作者:行者123 更新时间:2023-11-28 19:22:54 25 4
gpt4 key购买 nike

对于我的新 JavaScript 库,我有一个函数 isBinary返回 true如果传递的值为 1 , 0 , true ,或false 。为了便于编写,我使用以下代码,但我想知道我是否减慢了处理速度,而毫秒确实很重要,因为该函数在某些地方被解析多达 10000 次。代码:

isBinary = function(ins) {
return ins == 0 || ins == 1; //returns true if ins is true, false, 0, or 1
};

但我不确定运算符是否等于或 ==会比严格相等更快或更慢,更多 ||的。
为了最大程度地澄清问题:
使用ins === 1 || ins === 0 || ins === true || ins === false会更快吗? ,或ins == 1 || ins == 0

最佳答案

严格相等===会更快。如果您使用 ==,JavaScript 解释器必须尝试将类型强制转换为有意义的内容。

不过,我确实想指出,您的函数并未真正检查传入的值是否为 01false,或true

例如:

function isBinary(ins) {
return ins == 0 || ins ==1;
}

var arrayOne = [1];
var arrayOneString = ['1'];

console.log(isBinary(arrayOne)); //returns true
console.log(isBinary(arrayOneString)); //returns true
console.log(isBinary("1")); //returns true

我只是证明您的代码并没有完全按照您的想法进行操作。 JavaScript 中的类型安全很困难,不能指望“严格相等”的运算符来测试类型。

关于javascript - 'evil' 等式会减慢代码速度吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28467896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com