ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript が変数の定義に var を使用するかどうかの違いと例

JavaScript が変数の定義に var を使用するかどうかの違いと例

php是最好的语言
php是最好的语言オリジナル
2018-07-28 13:51:571582ブラウズ

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 を使用しない場合の違いは次のとおりです:

① 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 を使用しない変数の定義には次のような違いがあります。

① var 変数を使用すると、プログラムは強制的に新しい変数を定義します

②変数の定義に var を使用しないと、システムはまず現在のコンテキストに変数が存在するかどうかを検索し、変数が存在しない場合にのみ、新しい変数を再定義します。 「変数」は、ローカル変数が定義されているためです。新しい変数を定義する代わりに、コードはグローバル変数スコープを直接作成し、それに値を割り当てます。

そのため、test() はグローバル変数のスコープをカバーしていないため、「グローバル変数」も出力します

関連記事:

JavaScript で var を使用して変数を定義する場合と、var_javascript スキルを使用しない場合の違いを分析する

JavaScriptで変数を定義するときにvarを付ける場合と付けない場合の違い_基礎知識

関連動画:

JavaScript基礎強化動画チュートリアル

以上がJavaScript が変数の定義に var を使用するかどうかの違いと例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。