私にご負担ください。私は次のループに取り組んでいます。なぜfoo.countが増分されずに0が表示されるのか理解しようとしています。私はfoo.countが正しくインクリメントされるようにこの例を書き直したいと思います。私は何かを見落としていることを知っている。助言がありますか? Jaromandaで述べたように おかげJavaScriptループで関数を正しくインクリメントする必要があります
function foo(num) {
console.log("foo: " + num);
this.count++;
}
foo.count = 0;
var i;
for (i = 0; i < 10; i++) {
if (i > 5) {
foo(i);
}
}
// foo: 6
// foo: 7
// foo: 8
// foo: 9
console.log(foo.count); // Still 0!
あなたが投稿したコードの文脈では、this.countはfoo.countではありません - 'this'がどのように動作するのかを知る必要があります - この例では、' foo.count'を常に使用するとあなたは黄色になります –
可能な重複した[コールバック内の正しい\ 'this \' /コンテキストにアクセスする方法?](http://stackoverflow.com/questions/20279484/how-to-access-the-correct-this-context-inside- a-callback) –
@ジャロマンダX入力してくれてありがとう!私は "this"の使用を見落としました。 – Jimmy