js类中获取外部函数名的方法


Posted in Javascript onAugust 19, 2007

比如我们要在一个类中设定一个方法可以根据调入一个方法保存在类变量中,等需要的时候可以通过访问类变量来得到。
通常如果我们生成一个实例
如: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 相关文章推荐
Javascript 学习笔记 错误处理
Jul 30 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
Jun 28 Javascript
js 实现 input type=&quot;file&quot; 文件上传示例代码
Aug 07 Javascript
基于AngularJS前端云组件最佳实践
Oct 20 Javascript
原生JS实现跑马灯效果
Feb 20 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
Mar 06 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
Sep 18 Javascript
JavaScript学习笔记之图片库案例分析
Jan 08 Javascript
jQuery实现的中英文切换功能示例
Jan 11 jQuery
JS基于开关思想实现的数组去重功能【案例】
Feb 18 Javascript
vueScroll实现移动端下拉刷新、上拉加载
Mar 22 Javascript
js实现详情页放大镜效果
Oct 28 Javascript
写了一个layout,拖动条连贯,内容区可为iframe
Aug 19 #Javascript
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
Aug 19 #Javascript
Code: write(s,d) 输出连续字符串
Aug 19 #Javascript
js实现运行代码需要刷新的解决方法
Aug 18 #Javascript
javascript下阻止表单重复提交、防刷新、防后退
Aug 17 #Javascript
一个刚完成的layout(拖动流畅,不受iframe影响)
Aug 17 #Javascript
wordpress之js库集合研究介绍
Aug 17 #Javascript
You might like
php数字游戏 计算24算法
2012/06/10 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
PHP实现根据图片色界在不同位置加水印的方法
2015/08/08 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
php获取远程文件内容的函数
2015/11/02 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
JavaScript中setAttribute用法介绍
2013/07/20 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
node中socket.io的事件使用详解
2014/12/15 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
JavaScript函数中的this四种绑定形式
2017/08/15 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
JS+CSS实现过渡特效
2021/01/02 Javascript
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
python utc datetime转换为时间戳的方法
2019/01/15 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
Softmax函数原理及Python实现过程解析
2020/05/22 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
预备党员党支部意见
2015/06/02 职场文书
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis