勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

setTimeoutの注意点

   2014/07/03  JavaScript

javascriptのsetTimeoutにて変数を用いた際に

想定外の挙動を起こす場合があるとのこと。

参考を聞いた上で検証するも再現できず。

/*これは通る
setTimeout(function(){
alert('test')
},2000);
*/
/*これも通る
function alert_test (str) {
alert(str);
}
alert_test('hogehoge');
*/
//これは……通った。
function alert_test(test) {
var a = test;
setTimeout(function(){
alert(a);
},1000);
}
alert_test('hogehoge');

確認する。

//2013/05/16追記

function内で複数のsetTimeoutを用いた場合にエラーが発生した。

setTimeout内で変数を用いる場合はグローバル変数を使用する。

 - JavaScript

  関連記事

JavaScriptライブラリChart.jsでグラフの描写する方法

JavaScriptでグラフを描写する必要があり、普段はHighchartを使用 ...

javascriptのfor文で負荷軽減

javascriptで配列の数だけループをまわす際、 for (i=0; i&l ...

ユーザーエージェントなどユーザー情報を取得する方法

上からUA、IP、ホスト名を取得。 $ua = $_SERVER['HTTP_U ...

javascriptでゼロパティング

月日をゼロパディングしたかったけど PHPとは違い、そういった関数は無かったので ...

クロスドメインな状況でiframeがIEのみ挙動がおかしくなる場合

iframeで別のドメインのサイトを表示させた場合に、firefoxやchrom ...