私は条件に基づいてclearInterval
にしようとしています。どうしたの?私のclearIntervalに何が問題なのですか?
function Dog() {
var x = 0;
var s = setInterval(function y() {
console.log(x++);
if (x == 0) clearInterval(s);
}, 1000);
return '';
};
Dog();
私は条件に基づいてclearInterval
にしようとしています。どうしたの?私のclearIntervalに何が問題なのですか?
function Dog() {
var x = 0;
var s = setInterval(function y() {
console.log(x++);
if (x == 0) clearInterval(s);
}, 1000);
return '';
};
Dog();
console.log(x ++); //最初の呼び出し時にXが1に設定されます
if(x == 0)clearInterval(s); //実行されませんでした... xのオーバーフローまでx
x
は0
から始まります。
オンライン機能の1つで、それを増分します。したがって、1
になります。
オンライン2の場合は、0
かどうかをテストします。そうではありません。
次に、間隔が実行されます。 2は0ではありません。3は0ではありません。
条件が満たされません。
あなたのxは今までに0ではありません...
function Dog() {
var x = 0;
var s = setInterval(function y() {
console.log(x++);
if (x == 1) clearInterval(s);
}, 1000);
return '';
};
Dog();
だけのリマインダー:
X ++:
var x = 0;
console.log(x++); // returns 0
console.log(x); // returns 1
後、実際のxおよび増分を返し++ X :インクリメントとリターンx
var x = 0;
console.log(++x); // returns 1
console.log(x); // returns 1
実際の問題点を明確に説明してください。 *何が間違っていますか?* - 人々は問題を見つけ出して解決策を提供しません。 – thefourtheye
'x'は' f(x == 0) '文で決して' 0'にならないので、 'clearInterval(s)'は決して呼び出されません。 – Titus
無限ループです –