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 相关文章推荐
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
Apr 01 Javascript
js 页面执行时间计算代码
Mar 04 Javascript
js数组方法扩展实现数组统计函数
Apr 09 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 Javascript
全面解析Bootstrap手风琴效果
Apr 17 Javascript
jquery html动态添加的元素绑定事件详解
May 24 Javascript
Web打印解决方案之普通报表打印功能
Aug 29 Javascript
JQuery实现DIV其他动画效果的简单实例
Sep 18 Javascript
JavaScript瀑布流布局实现代码
May 06 Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
Jul 23 Javascript
JS实现访问DOM对象指定节点的方法示例
Apr 04 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
Oct 30 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
推荐几个开源的微信开发项目
2014/12/28 PHP
PHP开发实现微信退款功能示例
2017/11/25 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
Nodejs中 npm常用命令详解
2016/07/04 NodeJs
JS实现环形进度条(从0到100%)效果
2016/07/05 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
2017/09/07 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
vue解决一个方法同时发送多个请求的问题
2018/09/25 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
使用PYTHON创建XML文档
2012/03/01 Python
深入理解python中的浅拷贝和深拷贝
2016/05/30 Python
python实现关键词提取的示例讲解
2018/04/28 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
2018/07/11 Python
Python中如何导入类示例详解
2019/04/17 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
英国票务网站:Ticketmaster英国
2018/08/27 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
婚礼证婚人证婚词
2014/01/08 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
新郎父母婚礼致辞
2015/07/27 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python
Python基础之元编程知识总结
2021/05/23 Python
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android