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 相关文章推荐
JavaScript游戏之优化篇
Nov 08 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
Nov 14 Javascript
jQuery遍历json的方法分析
Apr 16 Javascript
Vuex简单入门
Apr 19 Javascript
Vue中引入样式文件的方法
Aug 18 Javascript
AngularJS中下拉框的高级用法示例
Oct 11 Javascript
vuejs实现本地数据的筛选分页功能思路详解
Nov 15 Javascript
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
Vue中的v-for循环key属性注意事项小结
Aug 12 Javascript
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 Javascript
vue界面发送表情的实现代码
Sep 11 Javascript
Openlayers学习之地图比例尺控件
Sep 28 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
php中error与exception的区别及应用
2014/07/28 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
Laravel 实现关系模型取出需要的字段
2019/10/10 PHP
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
基于JQuery.timer插件实现一个计时器
2010/04/25 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
2016/06/29 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
JS实现iframe自适应高度的方法示例
2017/01/07 Javascript
详解angularJs指令的3种绑定策略
2017/04/13 Javascript
js获取地址栏参数的两种方法
2017/06/27 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
微信小程序实现下拉菜单切换效果
2020/03/30 Javascript
如何制作一个Node命令行图像识别工具
2018/12/12 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
2020/11/18 jQuery
import的本质解析
2017/10/30 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
Python生成随机验证码代码实例解析
2020/06/09 Python
使用豆瓣源来安装python中的第三方库方法
2021/01/26 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
工商企业管理应届生求职信
2013/11/03 职场文书
大学生毕业自我鉴定
2013/11/06 职场文书
售后求职信范文
2014/03/15 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
卖房协议书样本
2014/10/30 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
护士节慰问信
2015/02/15 职场文书
2015年科普工作总结
2015/07/23 职场文书
Elasticsearch 索引操作和增删改查
2022/04/19 Python