1. ホーム
  2. javascript

[解決済み] varキーワードの目的と、どのような場合に使用する(または省略する)べきですか?

2022-03-19 21:36:24

質問

<ブロッククオート

ノート : この質問は、ECMAScript バージョン 3 または 5 の観点から行われました。ECMAScript 6 のリリースで新機能が導入されると、回答が古くなる可能性があります。

の具体的な機能は何ですか? var とはどのような違いがあるのでしょうか?

var someNumber = 2;
var someFunction = function() { doSomething; }
var someObject = { }
var someObject.someProperty = 5;

そして

someNumber = 2;
someFunction = function() { doSomething; }
someObject = { }
someObject.someProperty = 5;

?

どんな時にどちらを使うのか、その理由・効果は?

解決方法は?

グローバルスコープであれば、大きな違いはありません。読む Kangaxの 説明のための回答

もし、関数の中にいるのなら var はローカル変数を作成し、 "no var" は変数を見つけるかグローバルスコープに到達するまでスコープチェーンを探します(その時点で作成されます)。

// These are both globals
var foo = 1;
bar = 2;

function()
{
    var foo = 1; // Local
    bar = 2;     // Global

    // Execute an anonymous function
    (function()
    {
        var wibble = 1; // Local
        foo = 2; // Inherits from scope above (creating a closure)
        moo = 3; // Global
    }())
}

もし、あなたが課題をやっていないのであれば、その時は var :

var x; // Declare x