注意: この質問は、ECMAScript バージョン 3 または 5 の観点から尋ねられたものです。ECMAScript 6 のリリースで新しい機能が導入されると、回答が古くなる可能性があります。
var
JavaScriptのキーワードの機能とは何でしょうか?また、
var someNumber = 2;
var someFunction = function() { doSomething; }
var someObject = { }
var someObject.someProperty = 5;
そして
someNumber = 2;
someFunction = function() { doSomething; }
someObject = { }
someObject.someProperty = 5;
?
どちらをいつ使用するのでしょうか、またその理由と機能は何でしょうか?
ベストアンサー1
グローバルスコープの場合、大きな違いはありません。カンガックス説明に対する答え
関数内では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