JavaScript类中保存并调用外部函数的方法

作者:函数茶馆时间:2026-10-22 02:50:41浏览:646

本文介绍在JavaScript类中保存外部函数引用并动态调用的技巧。通过判断arguments长度,区分无参和有参函数,构建函数调用字符串。该方法解决了直接赋值函数内容而非函数名的问题,实现了灵活的方法绑定与执行。

JavaScript类中保存外部函数名及参数并动态调用的实现

例如,我们需要在类中定义一个方法,该方法能够接收另一个函数并将其保存在类的变量中,以便后续通过访问该变量来执行。


通常情况下,当我们创建类的实例时,


例如: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 }

作者最新文章