|
通常如果我們生成一個(gè)實(shí)例
如:var temp=new TopNETTree();
如果我們通過設(shè)定屬性的方式來傳入一個(gè)方法,會(huì)發(fā)現(xiàn)傳入的是一個(gè)函數(shù)的內(nèi)容,而非函數(shù)名。
如temp.fileAction=fnTest; //fnTest是一個(gè)函數(shù)
于是偶就寫了一個(gè)方法來實(shí)現(xiàn)此功能。
通過arguments來判斷判斷傳入內(nèi)容:
實(shí)現(xiàn)如下功能:
傳入內(nèi)容為空,不執(zhí)行任何內(nèi)容
傳入一個(gè)參數(shù),則表示是一個(gè)無參數(shù)的函數(shù)
傳入多個(gè)參數(shù),則表示第一個(gè)參數(shù)位函數(shù)名,后面的為各個(gè)參數(shù)。
1 TopNETTree.prototype.setFileAction=function(){
2 var fnName,fnArgs="";
3 if(arguments.length==0){
4 return 0;
5 }else if(arguments.length==1){
6 fnName=arguments[0];
7 }else{
8 fnName=arguments[0];
9 for(var i=1;i<arguments.length;i++){
10 fnArgs+=","+arguments[i];
11 }
12 fnArgs=fnArgs.replace(",","");
13 }
14
15 this.fileAction=fnName+"("+fnArgs+")";
16 }
JavaScript技術(shù):js類中獲取外部函數(shù)名的方法,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。