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 放大镜 放大倍率和视窗尺寸
May 09 Javascript
js jq 单击和双击区分示例介绍
Nov 05 Javascript
js统计录入文本框中字符的个数并加以限制不超过多少
May 23 Javascript
JS的location.href跳出框架打开新页面的方法
Sep 04 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
Jul 22 Javascript
canvas实现弧形可拖动进度条效果
May 11 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
Sep 26 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
Jan 25 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
Aug 09 Javascript
Spring boot 和Vue开发中CORS跨域问题解决
Sep 05 Javascript
7个好用的JavaScript技巧分享(译)
May 07 Javascript
JS轮播图的实现方法
Aug 24 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判断输入不超过mysql的varchar字段的长度范围
2011/06/24 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
php实现的简单日志写入函数
2015/03/31 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
Jquery.TreeView结合ASP.Net和数据库生成菜单导航条
2010/08/27 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
jquery实现ajax提交表单信息的简单方法(推荐)
2016/08/24 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
移动设备手势事件库Touch.js使用详解
2017/08/18 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
2018/02/26 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
python学习手册中的python多态示例代码
2014/01/21 Python
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
python科学计算之numpy——ufunc函数用法
2019/11/25 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
租赁协议书范本
2014/04/22 职场文书
个人遵守党的政治纪律情况对照检查材料思想汇报
2014/09/25 职场文书
房屋维修协议书范本
2014/09/25 职场文书
项目负责人岗位职责
2015/02/15 职场文书
行政撤诉申请书
2015/05/18 职场文书
公司车队管理制度
2015/08/04 职场文书
2016年师德师风学习心得体会
2016/01/12 职场文书
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python