js類中獲取外部函數(shù)名的方法
更新時(shí)間:2007年08月19日 12:23:17 作者:
比如我們要在一個(gè)類中設(shè)定一個(gè)方法可以根據(jù)調(diào)入一個(gè)方法保存在類變量中,等需要的時(shí)候可以通過(guò)訪問(wèn)類變量來(lái)得到。
通常如果我們生成一個(gè)實(shí)例
如:var temp=new TopnetTree();
如果我們通過(guò)設(shè)定屬性的方式來(lái)傳入一個(gè)方法,會(huì)發(fā)現(xiàn)傳入的是一個(gè)函數(shù)的內(nèi)容,而非函數(shù)名。
如temp.fileAction=fnTest; //fnTest是一個(gè)函數(shù)
于是偶就寫了一個(gè)方法來(lái)實(shí)現(xiàn)此功能。
通過(guò)arguments來(lái)判斷判斷傳入內(nèi)容:
實(shí)現(xiàn)如下功能:
傳入內(nèi)容為空,不執(zhí)行任何內(nèi)容
傳入一個(gè)參數(shù),則表示是一個(gè)無(wú)參數(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();
如果我們通過(guò)設(shè)定屬性的方式來(lái)傳入一個(gè)方法,會(huì)發(fā)現(xiàn)傳入的是一個(gè)函數(shù)的內(nèi)容,而非函數(shù)名。
如temp.fileAction=fnTest; //fnTest是一個(gè)函數(shù)
于是偶就寫了一個(gè)方法來(lái)實(shí)現(xiàn)此功能。
通過(guò)arguments來(lái)判斷判斷傳入內(nèi)容:
實(shí)現(xiàn)如下功能:
傳入內(nèi)容為空,不執(zhí)行任何內(nèi)容
傳入一個(gè)參數(shù),則表示是一個(gè)無(wú)參數(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表單元素同名沖突的問(wèn)題
- 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)文章
通過(guò)Jscript中@cc_on 語(yǔ)句識(shí)別IE瀏覽器及版本的代碼
通過(guò)Jscript中@cc_on 語(yǔ)句識(shí)別IE瀏覽器及版本的代碼,需要的朋友可以參考下。2011-05-05
基于JavaScript實(shí)現(xiàn)表格滾動(dòng)分頁(yè)
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)表格滾動(dòng)分頁(yè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
Js中的FileReader相關(guān)操作方法總結(jié)
FileReader是前端進(jìn)行文件處理的一個(gè)重要的API,特別是在對(duì)圖片的處理上,這篇文章主要給大家介紹了關(guān)于Js中FileReader相關(guān)操作方法的相關(guān)資料,需要的朋友可以參考下2024-07-07
javascript消除window.close()的提示窗口
有人問(wèn)起,怎么去掉js調(diào)用window.close()時(shí)怎么去掉那可惡的提示,咋一看好像還真不好弄,IE的安全機(jī)制好像就不允許通過(guò)腳本關(guān)閉本頁(yè)面,但是IE好像可以允許js關(guān)閉彈出窗口,那我們是不是可以通過(guò)一定的技巧欺騙一下IE,繞過(guò)去呢。鼓搗了幾下,似乎還真可以做到2015-05-05
一個(gè)XML格式數(shù)據(jù)轉(zhuǎn)換為圖表的例子
這個(gè)例子使用的是轉(zhuǎn)換為VML的語(yǔ)法,換成其他如SVG的語(yǔ)法,就可以轉(zhuǎn)換成為SVG圖形,單元數(shù)量可以任意加。2010-02-02
javascript單例模式的簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了javascript單例模式的簡(jiǎn)單實(shí)現(xiàn)方法,以javascript創(chuàng)建唯一實(shí)例的形式分析了javascript單例模式的簡(jiǎn)單實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07

