|
通常如果我們生成一個實例
如:var temp=new TopNETTree();
如果我們通過設定屬性的方式來傳入一個方法,會發現傳入的是一個函數的內容,而非函數名。
如temp.fileAction=fnTest; //fnTest是一個函數
于是偶就寫了一個方法來實現此功能。
通過arguments來判斷判斷傳入內容:
實現如下功能:
傳入內容為空,不執行任何內容
傳入一個參數,則表示是一個無參數的函數
傳入多個參數,則表示第一個參數位函數名,后面的為各個參數。
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技術:js類中獲取外部函數名的方法,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。