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 相关文章推荐
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
Sep 09 Javascript
jQuery之排序组件的深入解析
Jun 19 Javascript
js操作table元素实现表格行列新增、删除技巧总结
Nov 18 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
Dec 05 Javascript
浅析Node.js非对称加密方法
Jan 29 Javascript
浅谈JavaScript 代码整洁之道
Oct 23 Javascript
微信小程序自定义可滑动日历界面
Dec 28 Javascript
JS实现简单的抽奖转盘效果示例
Feb 16 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
Apr 20 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
Aug 04 Javascript
Vue+element+cookie记住密码功能的简单实现方法
Sep 20 Javascript
VUE解决跨域问题Access to XMLHttpRequest at
May 06 Vue.js
深入浅析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时间格式控制符对照表分享
2013/07/23 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
2007/04/20 Javascript
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
javascript表单验证大全
2015/08/12 Javascript
JavaScript学习笔记之DOM基础 2.4
2015/08/14 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
基于bootstrap实现广告轮播带图片和文字效果
2016/07/22 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
python实现websocket的客户端压力测试
2019/06/25 Python
基于python图像处理API的使用示例
2020/04/03 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
美国著名的团购网站:Woot
2016/08/02 全球购物
Java多态性的定义以及类型
2014/09/16 面试题
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
两则小学生的自我评价分享
2013/11/14 职场文书
仓库理货员岗位职责
2013/12/18 职场文书
打架检讨书100字
2014/01/08 职场文书
六年级学生评语
2014/04/22 职场文书
爱我中华教学反思
2014/04/28 职场文书
初中军训感想
2015/08/07 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书