js類中獲取外部函數(shù)名的方法
更新時(shí)間:2007年08月19日 12:23:17 作者:
比如我們要在一個(gè)類中設(shè)定一個(gè)方法可以根據(jù)調(diào)入一個(gè)方法保存在類變量中,等需要的時(shí)候可以通過訪問類變量來得到。
通常如果我們生成一個(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 }
通常如果我們生成一個(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 }
您可能感興趣的文章:
- 基于js里調(diào)用函數(shù)時(shí),函數(shù)名帶括號(hào)和不帶括號(hào)的區(qū)別
- javascript獲取函數(shù)名稱、函數(shù)參數(shù)、對(duì)象屬性名稱的代碼實(shí)例
- js函數(shù)名與form表單元素同名沖突的問題
- js類中獲取外部函數(shù)名的方法與代碼
- 關(guān)于動(dòng)態(tài)執(zhí)行代碼(js的Eval)實(shí)例詳解
- javascript中動(dòng)態(tài)函數(shù)用法實(shí)例分析
- JS函數(shù)實(shí)現(xiàn)動(dòng)態(tài)添加CSS樣式表文件
- JavaScript動(dòng)態(tài)插入script的基本思路及實(shí)現(xiàn)函數(shù)
- 如何實(shí)現(xiàn)動(dòng)態(tài)刪除javascript函數(shù)
- JavaScript 動(dòng)態(tài)添加腳本,并觸發(fā)回調(diào)函數(shù)的實(shí)現(xiàn)代碼
- 如何用JavaScript動(dòng)態(tài)呼叫函數(shù)(兩種方式)
- JS動(dòng)態(tài)插入并立即執(zhí)行回調(diào)函數(shù)的方法
- 詳解js的事件處理函數(shù)和動(dòng)態(tài)創(chuàng)建html標(biāo)記方法
- javascript實(shí)現(xiàn)根據(jù)函數(shù)名稱字符串動(dòng)態(tài)執(zhí)行函數(shù)的方法示例
相關(guān)文章
javascript實(shí)現(xiàn)雙端隊(duì)列
這篇文章主要為大家詳細(xì)介紹了使用javascript實(shí)現(xiàn)雙端隊(duì)列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11zepto.js中tap事件阻止冒泡的實(shí)現(xiàn)方法
這篇文章主要介紹了zepto.js中tap事件阻止冒泡的實(shí)現(xiàn)方法,實(shí)例分析了由冒泡產(chǎn)生的click延遲解決方法,需要的朋友可以參考下2015-02-02JavaScript使用DeviceOne開發(fā)實(shí)戰(zhàn)(三)仿微信應(yīng)用
這篇文章主要介紹了JavaScript使用DeviceOne開發(fā)實(shí)戰(zhàn)(三)仿微信應(yīng)用的相關(guān)資料,需要的朋友可以參考下2015-12-12一文教你用純JS實(shí)現(xiàn)一個(gè)五子棋游戲
實(shí)現(xiàn)一個(gè)五子棋游戲, 簡要分析其原理, 頁面并沒有很花哨, 原理搞懂了, 后面的就是很輕松的事了,本文給大家介紹了如何用純JS實(shí)現(xiàn)一個(gè)五子棋游戲,文中通過代碼示例給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2023-12-12javascript對(duì)JSON數(shù)據(jù)排序的3個(gè)例子
這篇文章主要介紹了javascript對(duì)JSON數(shù)據(jù)排序的3個(gè)例子的相關(guān)資料2014-04-04