関数 : 複数の処理をまとめる
関数の書き方
function 関数名(引数) { 処理 return 返り値 }
function hello() { console.log("hello"); }; hello(); //引数を加えると下記のように書ける function hello(name, age) { console.log("hello " + name + age); }; hello("taro ", 40); hello("jiro ", 30); //返り値で書くと下記のようになる function hello(name, age) { return "hello " + name + age; }; var greet = hello("jiro ", 30); console.log(greet)
ローカル変数について
function hello(name, age) { var msg = "hello " + name + age;//ローカル変数と呼ばれる。その関数内でしか有効でない変数。 return msg; }; var greet = hello("jiro ", 30); console.log(greet); console.log(smg);//関数の外から呼ぶとエラーになる
関数の違う書き方、無名関数について
var hello = function (name, age) { //無名関数、匿名関数と呼ばれる。関数名を省略できる var msg = "hello " + name + age;//ローカル変数と呼ばれる。その関数内でしか有効でない変数。 return msg; }; var greet = hello("jiro ", 30); console.log(greet);
即時関数について
function hello() { console.log("hello"); } hello(); //上記の書き方だと呼び出してあげないといけないが、下記のように書くと即時に実行できる (function hello() { console.log("hello"); })(); //引数を入れた場合の書き方 (function hello(name) { console.log("hello " + name); })("taro"); //さらに、呼び出してすぐに実行されるので関数名を省略可能 (function(name) { console.log("hello " + name); })("taro");
即時関数を使ってローカル変数にすることにより、ほかの変数の影響を受けないようにすることができる。 複雑なjsの場合は即時関数で囲うとよい。
(function() { var x = 10, y = 11; console.log(x + y); })();
参照 : ドットインストール