ここにコードのサンプルがあります:
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);
別の変数のオーバーライドを避けるために、同じ結果が得られました