ホームページ > 記事 > ウェブフロントエンド > JavaScript が変数の定義に var を使用するかどうかの違いと例
JavaScript は Java 言語や C 言語と多くの類似点がありますが、相違点もあります。
JavaScript 変数にはブロック スコープがありません。独自のスコープを持つのは関数だけです。
<script type="text/javascript"> //定义全局变量 var scope="全集变量"; function test(){ //全局变量被局部变量覆盖 document.writeln(scope+"<br/>") //定义scope局部变量,起作用范围是整个函数 var scope="局部变量"; //再次输出scope值 document.writeln(scope); } test();</script>
実行結果:
未定義
ローカル変数
<script type="text/javascript"> //定义全局变量 var scope="全集变量"; function test(){ //全局变量被局部变量覆盖 document.writeln(scope+"<br/>") //定义scope局部变量,起作用范围是整个函数 scope="局部变量"; //再次输出scope值 document.writeln(scope); } test();</script>
実行結果:
変数の完全なセット
ローカル変数
主に、var を使用して変数を定義する場合と var を使用しない場合の違いは次のとおりです:
① var 変数を使用すると、プログラムは強制的に新しい変数を定義します
② var を使用して変数を定義しない場合、システムはまず現在のコンテキストに変数が存在するかどうかを検索し、変数が存在しない場合にのみ、システムは新しい変数を再定義します。 「グローバル変数」は、ローカル変数が定義されているためです。新しい変数を定義する代わりに、コードはグローバル変数スコープを直接作成し、それに値を割り当てます。
そのため、test() はグローバル変数のスコープをカバーしていないため、「グローバル変数」も出力しますJavaScript は Java 言語や C 言語と多くの類似点がありますが、相違点もあります。
JavaScript 変数にはブロック スコープがありません。独自のスコープを持つのは関数だけです。
(1) 以下の例を見てください
<script type="text/javascript"> //定义全局变量 var scope="全集变量"; function test(){ //全局变量被局部变量覆盖 document.writeln(scope+"<br/>") //定义scope局部变量,起作用范围是整个函数 var scope="局部变量"; //再次输出scope值 document.writeln(scope); } test();</script>
実行結果: 未定義ローカル変数
(2) test()の変数を削除します
<script type="text/javascript"> //定义全局变量 var scope="全集变量"; function test(){ //全局变量被局部变量覆盖 document.writeln(scope+"<br/>") //定义scope局部变量,起作用范围是整个函数 scope="局部变量"; //再次输出scope值 document.writeln(scope); } test();</script>
実行結果: 変数の完全なセット ローカル変数
(3) 理由分析
① var 変数を使用すると、プログラムは強制的に新しい変数を定義します
②変数の定義に var を使用しないと、システムはまず現在のコンテキストに変数が存在するかどうかを検索し、変数が存在しない場合にのみ、新しい変数を再定義します。 「変数」は、ローカル変数が定義されているためです。新しい変数を定義する代わりに、コードはグローバル変数スコープを直接作成し、それに値を割り当てます。
そのため、test() はグローバル変数のスコープをカバーしていないため、「グローバル変数」も出力します関連記事:
JavaScript で var を使用して変数を定義する場合と、var_javascript スキルを使用しない場合の違いを分析する
JavaScriptで変数を定義するときにvarを付ける場合と付けない場合の違い_基礎知識
JavaScript基礎強化動画チュートリアル以上がJavaScript が変数の定義に var を使用するかどうかの違いと例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。