3
3

More than 5 years have passed since last update.

JavaScriptで関数より後に定義した変数が参照できる

Last updated at Posted at 2013-12-12

サンプルコード

getより後にxを定義したのに、getを実行すると"hello"が返ってきます。

var get = function(){
    return x;
}
var x = "hello";
get();

仕様の説明

shuhei@githubに教えてもらった var - JavaScript | MDN によればJavaScriptの「var の巻き上げ」と呼ばれる動作です。代入した変数はスコープの先頭で宣言されていたものと見なされます。

つまり、DQNEOさんのサンプルコードと等価になります。

var x,get;
get = function(){
    return x;
}
x = "hello";
get();
3
3
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3