1. 関数の内部属性引数
arguments は、関数のパラメータを保存するために使用されます。 argument.callee は、引数オブジェクト
//Factorial
function fastial(num) {
if (num <= 1) {
return 1;
} else {
return num*arguments.callee(num-1); //
}をagreements.callee
に置き換えます
var trueFactory =階乗;
階乗 = 関数 {
return 0;
alert(trueFactorial(5)); //20
alert(5);
2. 関数属性とメソッド
長さ属性。関数パラメータの数を示します
3. apply() メソッドと call() メソッド
apply() および call()メソッドはパラメータを渡したり関数を展開したりするために使用されます。 スコープ
//パラメータを渡します
function sum( num1,num2) {
return num1 num2;
}
function callSum(num1,num2) {
return sum.call(this,num1, num2); //最初のパラメータはこれで、後ですべてのパラメータをリストします
}
alert(callSum(10,10)) //20
function calSum1(num1,num2); >return sum.apply(this,arguments) ; //最初のパラメータ this、2 番目のパラメータの引数
}
function calSum2(num1,num2) {
return sum.apply(this,[num1, num2]); //最初のパラメータは this、2 番目のパラメータはパラメータ配列
}
alert(callSum1(10,10)) //20
alert(callSum2(10,10)); //20
window.color = "red";
var o = { color:"blue"}
function SayColor() {
alert(this.color); >}
sayColor() ; //赤
sayColor.call(window); //赤
sayColor.call(o);青