gpt4 book ai didi

javascript - 如果我将 false 和 !== 替换为 true 和 === 该函数会给出意外的结果。有什么解释吗?

转载 作者:行者123 更新时间:2023-12-01 01:43:14 26 4
gpt4 key购买 nike

function palindrome(str) {
var len = str.length;
for ( var i = 0; i < Math.floor(len/2); i++ ) {
if (str[i] !== str[len - 1 - i]) {
return false;
}
}
return true;
}

如果我将 for 循环内部的 !== 和 false 替换为 === 和 true,将 true 外部替换为 false,则该函数无法按预期工作有人能告诉我为什么吗?

最佳答案

让我用一个例子来说明它

假设我们已经盖好了装满白色和黑色弹珠的盒子。并声明:“盒子里只有白色大理石”。您如何确定该陈述是真实的?嗯...你一颗一颗地挑选弹珠(在 for 循环中)并检查它们是否都是白色的。如果您发现不是 (!==),则您就知道该陈述是错误的。而你的函数正在执行此操作。

按照你想要的方式 - 使用切换运算符和真实值 - 它会像这样:“我会挑选一个弹珠,如果它白色(===),我知道这个说法是真实。”现在……真的是这样吗?不,不是。

明白了吗? (在您的情况下,您不是检查黑白弹珠,而是检查字符是否相等)

关于javascript - 如果我将 false 和 !== 替换为 true 和 === 该函数会给出意外的结果。有什么解释吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52213555/

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