WebプログラミングならR-izm

サイトマップ 最初に

関数

関数(function)とは指定した値に対して、定められた処理を実行して結果を返すことです。
関数の書き方は以下なります。

function 関数名(){
関数で処理する内容を記載
};

関数名();

function 関数名(){・・・};は関数の定義だけになります。
そのため、関数名();で実行します。
関数には引数を設定することが可能です。

function 関数名(引数名){
関数で処理する内容を記載
};

関数名(引数);

「test.js」の内容を以下に変更してindex.htmlをブラウザで開いて確認してください。

[test.jsに記述]
function Hello(name){
 document.write('こんにちは' + name + 'さん!');
};
Hello('太郎');

複数の引数を,(カンマ)で区切れば指定することができます。
「test.js」の内容を以下に変更してindex.htmlをブラウザで開いて確認してください。

[test.jsに記述]
function add(a,b){
 document.write(a+b);
};
add(1,2);

関数内の処理結果(変数の値)を取得することを戻り値といいます。
「test.js」の内容を以下に変更してindex.htmlをブラウザで開いて確認してください。

[test.jsに記述]
function func(){
var result = 12 * 24;
return result;
};
var test1 = func();
document.write(test1);

今までは、関数名を指定していましたが、変数に関数を代入し関数名を指定しないことを無名関数といいます。
「test.js」の内容を以下に変更してindex.htmlをブラウザで開いて確認してください。

[test.jsに記述]
var test1 = function(a,b){
var result = a * b;
return result;
};
document.write(test1(3,5));

関数内で宣言された変数は、その関数の外では参照できないルールがあり、それをスコープといいます。
関数が入れ子になった場合にもそれぞれスコープが発生します。
「test.js」の内容を以下に変更してindex.htmlをブラウザで開いて確認してください。

[test.jsに記述]
function func(){
var result = 12 * 24;
return result;
};
func();
document.write(result);

画面上には何も表示されないと思います。
func関数内の変数resultは関数外で呼び出すことができません。
関数内の変数をローカル変数といい、プログラム全体で利用したい場合はグローバル変数を利用します。
「test.js」の内容を以下に変更してindex.htmlをブラウザで開いて確認してください。

[test.jsに記述]
var result = 12;
function func(){
result += 24;
return result;
};
func();
document.write(result);

先ほどとは違く、関数で実行した+24が加算されて36が表示されたと思います。

計算に戻る if文に行く 目次に戻る