スタートページ>
Javascript>
CoffeeScript
CoffeeScriptの概要←
(1)変数の指定←
(2)制御命令←
CoffeeScript文法の基本(3)関数→
(4)クラス
関数記述の一般構造
引数のオプション指定
関数の階層化
CoffeeScript
# 引数なし、戻り値なし
関数A = ->
alert "関数A結果"
return
関数A()
# 引数あり、戻り値なし
関数B = (x) ->
y = 2+x
alert "#{y}"
return
関数B(5)
# 引数なし、戻り値あり
関数C = ->
y = 10
alert 関数C();
# 引数あり、戻り値あり
関数D = (x) ->
if x >= 0
y = x + x
else
y = x * x
alert 関数D 5
alert 関数D -5
|
JavaScript
var 関数A, 関数B, 関数C, 関数D;
// 引数なし、戻り値なし
関数A = function() {
alert("関数A結果");
};
関数A(); // 関数A結果
// 引数あり、戻り値なし
関数B = function(x) {
var y;
y = 2 + x;
alert(`${y}`);
};
関数B(5); // 7
// 引数なし、戻り値あり
関数C = function() {
var y;
return y = 10;
};
alert(関数C()); // 10
// 引数あり、戻り値あり
関数D = function(x) {
var y;
if (x >= 0) {
return y = x + x;
} else {
return y = x * x;
}
};
alert(関数D(5)); // 10
alert(関数D(-5)); // 25
|
CoffeeScript
関数A = (x, y, z=0) ->
合計 = x + y + z
alert 関数A(1, 2, 3)
alert 関数A(1, 2)
関数B = (x...) ->
合計 = 0
for xi in x
合計 += xi
return 合計
alert 関数B(1, 2, 3)
|
JavaScript
var 関数A, 関数B;
関数A = function(x, y, z = 0) {
var 合計;
return 合計 = x + y + z;
};
alert(関数A(1, 2, 3)); // 6
alert(関数A(1, 2)); // 3
関数B = function(...x) {
var i, len, xi, 合計;
合計 = 0;
for (i = 0, len = x.length; i < len; i++) {
xi = x[i];
合計 += xi;
}
return 合計;
};
alert(関数B(1, 2, 3)); // 6
|
主関数 関数 の引数で タイプ="A" を指定すれば内部関数 関数A (x+y)、"B" とすれば 関数B(x*y) を行うような処理です。
CoffeeScript
関数 = (タイプ, x, y) ->
関数A = ->
return x + y
関数B = ->
return x * y
if タイプ is "A" then 結果 = 関数A()
if タイプ is "B" then 結果 = 関数B()
return 結果
alert 関数("A", 2, 3)
alert 関数("B", 2, 3)
|
JavaScript
var 関数;
関数 = function(タイプ, x, y) {
var 結果, 関数A, 関数B;
関数A = function() {
return x + y;
};
関数B = function() {
return x * y;
};
if (タイプ === "A") {
結果 = 関数A();
}
if (タイプ === "B") {
結果 = 関数B();
}
return 結果;
};
alert(関数("A", 2, 3)); // 5
alert(関数("B", 2, 3)); // 6
|