这篇文章主要介绍了 javascript 针对不确定函数的执行方法, 实例分析了 eval 函数及符号属性两种执行方式, 需要的朋友可以参考下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本文实例分析了 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 程序设计有所帮助。
来源: