独習Javascript の関数を勉強する

1.関数を作成するメリットは
処理をひとまとめにできる。
反復処理が書ける。
2.関数を構成する要素は
function(引数)
return

                                                                                              • -

function文
function 関数名(引数){
複数の文
return 戻り値;
}

//引数を足し算する
function add(num1,num2){
var sum=num1+num2;
return sum;
}

呼び出し
var num=add(1,2)
//3 が返ってくる。

return を指定しないと、undefinedが返ってくる

                                                                                                  • -

関数リテラル
var 変数名=function(引数){
複数の文
return 戻り値;
};

//足し算
var add=function(num1,num2){
return num1+num2;
};
呼び出し
var num=add(1,2);
//3が返ってくる
呼び出し方法はfunction文と同じだけど、
変数のスコープによる変数の有効範囲が違ってくる
リテラルは1つの文として扱われるため、}の後には必ず終端を表すセミコロンを入れる。

高級関数
//足し算
function add(num1,num2){
var sum=num1+num2;
return sum;
}

//順位をつける
function getRank(result){
if(result >=80){
return 'A';
}else if( result>=40){
return 'B';
}else{
return 'C';
}
}

//関数を引数に取り判定する 高級関数
function checkRank(func,result){
var rank=func(result);
if(rank='A' || rank='B'){
return true;
}
return false;
}
var result=add(30,50);
if(checkRank(getRank,result)){
document.writeln('合格です:'+result);
}else{
document.writeln('不合格です:'+result);
}

関数checkRankの引数に関数リテラルを使用してgetRank関数を代入している。そのため、getRankが違う関数にしてもcheckRankは同じ動作をする事ができ、checkRanckにいろんな処理を入れて、判定する事ができるようになる。