これはこのウェブサイトで私の最初の質問の一つですので、間違った方法に近づいているかどうか教えてください。setInterval()を使用すると、年齢はどのように "if"に上がりますか?
私のobjには、(犬)を作成したことがあります。私は、JavaScript()のsetInterval機能を使用して、年齢(5)から犬の年齢をカウントする「ライブ」関数を持っています。 "dog.live()"とタイプして関数を呼び出すと、犬の年齢が15になるまで、関数の "if"側を実行し、関数の "else"部分の実行を続行しますあなたはどれくらいの期間、犬が死んでいるのですか?
var dog = {
age : 5,
live : function() {
setInterval(function() {
var timer = this.age += 1;
if (this.age < 15) {
console.log("Dog lives another day at age " + this.age);
} else {
console.log("Dog has been dead for " + (timer - 15) + " years");
}
}.bind(dog), 1000);
}
}
dog.live();
"Dog lives another day at age 6"
"Dog lives another day at age 7"
...
"Dog has been dead for 0 years"
"Dog has been dead for 1 years"
は今、私はのsetInterval内部機能の「他」の部分で、それは「タイマー」変数を使用して年齢をインクリメントする方法、理解しています。 しかし、私は、犬の年齢を示す関数の "if"部分がどのように増加するのか、困惑していますか?私が知る限り、 "var timer = this.age + = 1;"のために単独では増えません。変数を宣言しているだけで、何も実行していません。 私は、犬の年齢が機能の「if」側を実行している間にどのように増加するのか知りたいです。
また、この質問に間違ったやり方がある場合や、このような質問が許可されない場合は、私にお知らせください。今後の質問をさらに進めていただきたいと思います。ありがとうございます。
'+ ='は変数をインクリメントします。その行に '='が追加されているので混乱します... – deceze
うーん、あなたが+ +変数をインクリメントすることによって何を意味するのか理解したいと思います。残念ながら私はまだ少し失われています。 – yunjae123