関数 : 複数の処理をまとめる
関数の書き方
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);
})();
参照 : ドットインストール