前端新手應該要知道js中callee關鍵字的作用,基礎知識點要掌握下更好,知道的朋友可以溫故而知新哦,補充下arguments關鍵字的知識,它的作用是可以在函數里邊接收實參信息。
1.callee關鍵字的定義:
在函數內部使用,代表當前函數的引用(名字)。
2.callee關鍵字的作用:
降低代碼的耦合度。
3.耦合度的定義:
一處代碼的修改會導致其他代碼也要發生改變(耦合度高)在項目裡邊要開發低耦合度的代碼(一處代碼修改儘量少地引起其他代碼的變化)。
4.語法結構:
function f1(){
arguments.callee();
}
f1();
5.使用callee降低代碼的耦合度,看下面的例子:
比如,我們求n的階乘:
!n = n*!(n-1)
!5 = 5*4*3*2*1
!4 = 4*3*2*1
!3 = 3*2*1
!2 = 2*1
!1 = 1
function jiecheng(n){
if(n==1){
return 1;
}
//return n * jiecheng(n-1);
//callee可以保證外部名稱的變化,不會引起內部代碼的修改,代碼耦合度降低
return n * arguments.callee(n-1);
}
//要把jiecheng名稱換成其他的名字進行使用
var jc = jiecheng; //對象賦值,其為引用傳遞
jiecheng = null; //銷燬jiecheng函數對象,後期不使用了
console.log(jc(4)); //輸出24
var jd = jc;
jc = null;
console.log(jd(6)); //輸出720
閱讀更多 湯久生前端 的文章
關鍵字: JavaScript 關鍵字 前端