Skip to content

Instantly share code, notes, and snippets.

@0mg
Last active December 10, 2015 13:28
Show Gist options
  • Save 0mg/4441397 to your computer and use it in GitHub Desktop.
Save 0mg/4441397 to your computer and use it in GitHub Desktop.

var

変数宣言

var x = 3;

,(コンマ)で区切って複数宣言できる

var x = 3, y = 2;

グローバル変数を宣言する

<script>
var x = 3;
</script>

関数内ではローカル変数宣言になる

<script>
(function() { var x = 3; })();
x; //エラー
</script>

空白を使用せず宣言も可能

var/**/x=3;

グローバル変数は var なしでも宣言できる

x = 3;

var なしで変数宣言するとグローバル変数になる

(function f() { x = 3; })()
x; //3

Web ブラウザの JavaScript においては、 グローバル変数は「最上位祖先 window オブジェクト」のプロパティでもある

x = 3;
window.x; //3

if

条件を満たせば評価

x が[真]のときのみ y を評価

if (x) y;

{}で括って複数の文を評価できる

if (x) { y; z; }

else

if の条件を満たさないとき評価

x が真なら y を評価、x が偽なら z を評価

if (x) y; else z;

function

関数定義または関数式

関数の構造

function f(a, b) { x }

関数は以下の構造で成り立っている

  • function キーワード
  • 関数名 (省略可)
  • () 丸括弧
    • 仮引数 (省略可)
  • {} 波括弧
    • 文 (省略可)

関数をどこにどう書くかによって「関数定義」か「関数式」かに変化する

おおまかには、以下の規則で変化する

  • 式しか書けない場所に書かれた関数は、関数式となる
  • 関数名を省略すると、関数式となる
  • それ以外の関数は、おおよそ関数定義となる

関数定義として function を使う

関数定義は文である

<script>
function f() { x }
</script>

関数定義をすると、関数名と同じ名前の変数を宣言したことになる

<script>
function f() { x }
f(); //x が実行される
</script>

コードは基本的に 上から下へ 向かって実行される が、 関数定義は特殊で、関数定義の上に関数実行の記述があっても良い

<script>
f(); //xが実行される
function f() { x }
</script>

関数式として function を使う

関数式は式である

var g = function f() { x };

関数定義とは違い、関数名と同じ名前の変数を宣言したことにはならない

<script>
var g = function f() { x };
f(); //エラー
</script>

関数式では関数名を省略できる

var g = function() { x };
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment