gpt4 book ai didi

javascript - 比较 : x == a is true, x == b 为真,但 a == b 为假

转载 作者:行者123 更新时间:2023-11-29 22:02:32 25 4
gpt4 key购买 nike

我有以下 javascript 代码:

        console.log("Line: 89");
console.log(products[i]['barcodes'][j]);
console.log(barcode);
console.log(barcode == products[i]['barcodes'][j]);
console.log(barcode == 888);
console.log(products[i]['barcodes'][j] == 888);
console.log(888 == 888);

我在控制台中看到以下输出

Line: 89
888
888
false
true
true
true

barcode == products[i]['barcodes'][j] 的计算结果怎么可能为假?我应该如何比较这两个值?

最佳答案

考虑以下几点:

var a = '888';
var b = '888 ';
console.log(a); // 888
console.log(b); // 888
console.log(a == b); // false
console.log(a == 888); // true
console.log(b == 888); // true

当您比较 ab 时,它们都是字符串 - 直接比较,没有任何类型转换。所以 b 末尾的空格在这里很重要。

但是,当您将 abnumber 888 进行比较时,存储在这些变量中的字符串首先被转换为数字 (在比较之前忽略 '888 ' 末尾的尾随空格)。

关于javascript - 比较 : x == a is true, x == b 为真,但 a == b 为假,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22823911/

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