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 Discuz代码中的msn聊天小功能
May 25 Javascript
JavaScript 捕获窗口关闭事件
Jul 26 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
Dec 16 Javascript
js函数在frame中的相互调用详解
Mar 03 Javascript
本人自用的global.js库源码分享
Feb 28 Javascript
JavaScript实现重置表单(reset)的方法
Apr 02 Javascript
JavaScript数组的一些奇葩行为
Jan 25 Javascript
JavaScript常用数组算法小结
Feb 13 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
Nov 21 Javascript
JavaScript 函数的定义-调用、注意事项
Apr 16 Javascript
three.js利用卷积法如何实现物体描边效果
Nov 27 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
Nov 05 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大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
模板引擎smarty工作原理以及使用示例
2014/05/25 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
javascript读取xml
2006/11/04 Javascript
使用prototype.js进行异步操作
2007/02/07 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
jQuery 3.0 的变化及使用方法
2016/02/01 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
canvas的神奇用法
2017/02/03 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
复制粘贴功能的Python程序
2008/04/04 Python
使用python删除nginx缓存文件示例(python文件操作)
2014/03/26 Python
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
Python import自定义模块方法
2015/02/12 Python
Python实现压缩文件夹与解压缩zip文件的方法
2018/09/01 Python
在pycharm中文件取消用 pytest模式打开的操作
2020/09/01 Python
Html5游戏开发之乒乓Ping Pong游戏示例(一)
2013/01/21 HTML / CSS
英国标志性生活方式品牌:Skinnydip London
2019/12/15 全球购物
哈理工毕业生的求职信
2013/12/22 职场文书
工作人员思想汇报
2014/01/09 职场文书
房屋改造计划书
2014/01/10 职场文书
高中生家长会演讲稿
2014/01/14 职场文书
中学生运动会新闻稿
2014/09/24 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers