は、私がメッセージを警告する簡単な機能を持っていると言います。私は内側にそれを置くときこのクロージャはなぜ機能しますか?私はそうのようにそれを呼び出すとき</p> <pre><code>function callMessage(msg){ alert(msg); } </code></pre> <p>さて、それは動作しません:
function sayHi(){
var hey = "hi there"
setTimeout(function(){callMessage(hey);}, 1000);
}
sayHi();
はなぜしか見え「ねえ」変数です:エラー
function sayHi(){
var hey = "hi there"
setTimeout("callMessage(hey)", 1000);
}
sayHi();
「ねえが定義されていない」しかし、私は匿名関数の内部でそれを呼び出したとき、それは作業を行い例外匿名機能?
評価されたときに取得することができない私はまただろうこれを試して; 'setTimeout(" var hey = 'hi there'; callMessage(hey) "、1000);' – mindandmedia
私があなただったら、私は次のようなものを読んでいたでしょう:http://www.digital-web.com/articles/scope_in_javascript/ –