Javascriptでは、関数を定義したときのスコープを使って関数を実行するといいます。関数が呼び出されたときに有効なスコープとは関係ありません。
正確にはどういう意味ですか?誰かが簡単な例で説明してくれませんか。
Javascriptでは、関数を定義したときのスコープを使って関数を実行するといいます。関数が呼び出されたときに有効なスコープとは関係ありません。
正確にはどういう意味ですか?誰かが簡単な例で説明してくれませんか。
次の出力は のスコープで定義されているため A です。したがってfoo
、使用する変数は のスコープでも定義されている変数です。function a
data
function a
関数がwhereのスコープで呼び出されたにもかかわらず、 B を出力しません。function b
data = "B"
<div id="output"></div>
<script>
var data = "global";
function a() {
var data = "A";
function foo() {
document.getElementById('output').innerHTML = data;
}
return foo;
}
function b() {
var data = "B";
var func = a();
func();
}
b();
</script>