gpt4 book ai didi

javascript - 与 -1 或 undefined 的比较不起作用,无论是 == 还是 ===

转载 作者:太空宇宙 更新时间:2023-11-04 01:10:47 25 4
gpt4 key购买 nike

这里是代码示例:

do
{
line=gets(smil);
if (line===-1){console.log("Abort");callback(-1);}
console.log("line= "+line);
}while(line.search("<video")===-1);

第一个输出很顺利,但突然间,我明白了

line= -1
TypeError: Object -1 has no method 'search'

gets 是一个自定义函数,如果出现错误,它会返回一个字符串或 -1。

我尝试使用 == 而不是 ===,但效果是一样的。

我尝试将 gets 的返回 -1 替换为 undefined,但我只是得到了

line= undefined
TypeError: Cannot call method 'search' of undefined

相反。

为什么 if 不执行?

编辑:尝试过

var pline
do
{
pline=gets(smil);
if (pline===-1){console.log("Abort");callback(-1);}
console.log("line= "+pline);
}while(pline.search("<video")===-1);

为了避免覆盖另一个变量,得到了相同的结果

最佳答案

这个问题有两个问题。

第一个 - 您将覆盖 do 之后的变量 line。这就是为什么你会收到 Uncaught TypeError: Object -1 has no method 'search'

将该行更改为 parsed_line = gets(smil);//也永远不要忘记分号

第二 - search 不是 String 的函数,您需要 indexOf() 函数。

因此将 while(line.search()) 更改为 while(line.indexOf())

我为你做了一个 fiddle demonstrates it here

关于javascript - 与 -1 或 undefined 的比较不起作用,无论是 == 还是 ===,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17967790/

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