javascript针对不确定函数的执行方法


Posted in Javascript onDecember 16, 2015

本文实例分析了javascript针对不确定函数的执行方法。分享给大家供大家参考,具体如下:

在javascript中,有时候只知道一个函数的名字,但并不确定该函数有没有,如何判断该函数是否存在,并执行呢。一个方法是用eval() 执行拼接的程序字符串,但可能带来性能问题。另一个方法是使用符号属性的方式来访问函数,因为函数都是window对象的属性。

利用window[函数名] 来代表该function对象,用window[函数名]()来执行或调用该函数。

例子:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>新建网页 1</title> 
</head> 
<body> 
<script language="javascript"> 
function input1_onChange(){ 
  alert('input1_onChage executed.'); 
} 
var objId = 'input1'; 
if(window[objId +'_onChange']){ 
  alert('There is the funtion'); 
}else{ 
  alert('There is not the funtion'); 
} 
if(window[objId+'_onChange']  
  && typeof(window[objId+'_onChange'])=='function'){ 
  window[objId+'_onChange'](); 
} 
var fun = window[objId+'_onChange']; 
if(fun && typeof(fun)=='function'){ 
  fun(); 
} 
</script> 
</body> 
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
slice函数的用法 之不错的应用
Dec 29 Javascript
JavaScript-世界上误解最深的语言分析
Aug 12 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
Jun 02 Javascript
window.addEventListener来解决让一个js事件执行多个函数
Dec 26 Javascript
js清理Word格式示例代码
Feb 13 Javascript
JavaScript实现的类字典插入或更新方法实例
Jul 10 Javascript
ASP.NET jquery ajax传递参数的实例
Nov 02 Javascript
js实时监控文本框输入字数的实例代码
Jan 18 Javascript
基于js Canvas实现二次贝塞尔曲线
Dec 25 Javascript
Vue解析带html标签的字符串为dom的实例
Nov 13 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
Jan 14 Javascript
原生js实现自定义滚动条组件
Jan 20 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
Dec 16 #Javascript
js如何判断输入字符串长度
Dec 16 #Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
Dec 16 #Javascript
jQuery添加和删除指定标签的方法
Dec 16 #Javascript
详解JavaScript基于面向对象之继承实例
Dec 16 #Javascript
javascript实现拖放效果
Dec 16 #Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
Dec 15 #Javascript
You might like
封装ThinkPHP的一个文件上传方法实例
2014/10/31 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
javascript web对话框与弹出窗口
2009/02/22 Javascript
js 判断checkbox是否选中的实现代码
2010/11/23 Javascript
js返回上一页并刷新代码整理
2012/12/21 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
2014/08/10 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
关于jquery中attr()和prop()方法的区别
2018/05/28 jQuery
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
python单线程实现多个定时器示例
2014/03/30 Python
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
基于Python代码编辑器的选用(详解)
2017/09/13 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
python实现回旋矩阵方式(旋转矩阵)
2019/12/04 Python
python内置模块collections知识点总结
2019/12/19 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
基于Python生成个性二维码过程详解
2020/03/05 Python
本科生学习总结的自我评价
2013/10/02 职场文书
社区工作者思想汇报
2014/01/13 职场文书
公司年会搞笑主持词
2014/03/24 职场文书
诚实守信演讲稿
2014/09/01 职场文书
秦兵马俑导游词
2015/02/02 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
导游词之无锡唐城
2019/12/12 职场文书
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
python数字图像处理:图像的绘制
2022/06/28 Python