1 //01.使用argument模擬方法重載 2 function sayHi() { 3 if (arguments.length == 1) { 4 alert(arguments[0]); 5 } 6 if(arguments.length==2){ 7 alert(arguments[0]+arguments[1]); 8 } 9 }
1 function getFac(num) { 2 if (num <= 1) 3 return num; 4 return num * getFac(num - 1); 5 } 6 7 var result = getFac(5);//5*4*3*2*1 8 alert(result);
1 var test = getFac;//把階乘地址賦給test 2 getFac = function (num) { 3 return num; 4 } 5 var res = test(5); 6 alert(res);
1 function getFac(num) { 2 if (num <= 1) 3 return num; 4 return num * arguments.callee(num-1);//這個argument是一個指針,直接指向getFace方法原來的地址,而不是後面的getFace改寫以後的方法 5 }