Water Sunlight

軽量プログラミングの文法 - JavaScript/Python

ユーザ用ツール

サイト用ツール


js:function:basic

文書の過去の版を表示しています。


JavaScript 関数の定義

y2sunlight 2021-04-05

関数の定義

以下による定義方法がある

  • function文
  • Functionコンストラクタ
  • 関数リテラル
  • アロー関数*2015

function文

function 関数名(引数,) {
    // 本体
    return 戻り値;
}

console.log(getArea(10, 20));    // 結果:200
function getArea(height, width) {
    return height * width;
}

Functionコンストラクタ

var 変数名 = new Function(引数,, 関数本体);

var func1 = new Function('height', 'width', 'return height * width');
var func2 = new Function('height, width', 'return height * width');
// どちらの形式でも良い
console.log(func1(10, 20));  // 結果:200
console.log(func2(10, 20));  // 結果:200

関数リテラル

var 変数名 = function(引数,) {
    // 関数本体
    return 戻り値;
};

var func = function(height, width) {
    return height * width;
};
console.log(func(10, 20));  // 結果:200

関数リテラルは、無名関数又は匿名関数とも呼ばれる

アロー関数*2015

var 変数名 = (引数,) => {
    // 関数本体
    return 戻り値;
};

var func = (height, width) => {
    return height * widht;
};
console.log(func(10, 20));

第1級オブジェクト

JavaScriptの関数は第1級オブジェクトである

  • 変数へ格納できる
  • 引数にできる
  • 戻り値にできる
  • コンストラクタできる
  • 独自の存在をもつ(無名可能)

function func1(height, width){return height * width}
 
var func2 = new Function('height, width', 'return height * width');
var func3 = function(height, width){ return height * width };
var func4 = (height, width) => { return height * width };
 
function callFunc(height, width, func){
    console.log(func(height, width));
}
 
callFunc(1, 10, func1);  // 結果:10
callFunc(2, 10, func2);  // 結果:20
callFunc(3, 10, func3);  // 結果:30
callFunc(4, 10, func4);  // 結果:40
js/function/basic.1617585825.txt.gz · 最終更新: 2021/04/05 10:23 by tanaka