ホームページ  >  記事  >  ウェブフロントエンド  >  javascript_javascript スキルの setTimeout の問題の解決策

javascript_javascript スキルの setTimeout の問題の解決策

WBOY
WBOYオリジナル
2016-05-16 16:49:291475ブラウズ

おそらく次のような問題を見つけました。

コードをコピー コードは次のとおりです:

name = 'out of you'
foo = function(){
this.name = 'xxoo';
}
foo.prototype.say = function(){
console.log(this.name); }
f = new foo();
f.say(); // この文は xxoo を出力します
setTimeout(f.say, 500); // この文は出力します

これは落とし穴です。JavaScript の this は呼び出されたときに生成され、コンテキストにも関係します。これがそれを解決する方法です。テストして通話を使用しました。

コードをコピー コードは次のとおりです。
setTimeout.call(foo(), f .say, 500)

インターネット上のいくつかの解決策

これは、js の setTimeout の問題を示しています


JavaScript でタイマーを使用する
結局のところ、これはまだ理解の問題です。

いつかもっと理解できたら書き続けることができます
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。