次のJavaスニペットでは、のスコープはループi
の内側に限定されています。for
そのため、エラーが発生します。ただし、同様のJSスニペットでi
は、ループの外側からアクセスできるようです。そんなことがあるものか?
Java:
for(int i=0;i<10;i++) {
...
}
System.out.println(i);
出力:「iは定義されていません」
JS:
for(var i=0;i<10;i++) {
...
}
console.log(i);
出力:10
JSからの出力を期待していませんでした。JSとJavaの違いを知りたいです。JavaScript変数スコープはどのように機能しますか?