1

ここにコードのサンプルがあります:

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 を返します。

=== の代わりに == を使用してみましたが、同じことを行います。

get の return -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);

別の変数のオーバーライドを避けるために、同じ結果が得られました

4

2 に答える 2