与-1或undefined比较,不pipe用==还是===
这里是一个代码示例:
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是一个自定义函数,在错误的情况下返回一个string或-1。
我试着==而不是===,但它只是做同样的。
我试图通过undefinedreplace获取返回-1,但我只是得到
line= undefined TypeError: Cannot call method 'search' of undefined
代替。
为什么不执行?
编辑:试过
var pline do { pline=gets(smil); if (pline===-1){console.log("Abort");callback(-1);} console.log("line= "+pline); }while(pline.search("<video")===-1);
避免重写另一个variables,得到相同的结果
这是一个双重的问题。
第一次 – 你在这之后重写variablesline
。 这就是为什么你越来越Uncaught TypeError: Object -1 has no method 'search'
将该行更改为parsed_line = gets(smil); //also never forget semicolons
parsed_line = gets(smil); //also never forget semicolons
2nd – search
不是String的函数,你需要indexOf()
函数。
所以改一下while(line.search())
while(line.indexOf())
。
我为你演示了一个小提琴
尝试添加一个rest。
do { line=gets(smil); if (line===-1){ console.log("Abort"); callback(-1); break; } console.log("line= "+line); }while(line.search("<video")===-1);