JavaScript中判断函数、变量是否存在


Posted in Javascript onJune 10, 2015

一、是否存在指定函数

function isExitsFunction(funcName) {
  try {
    if (typeof(eval(funcName)) == "function") {
      return true;
    }
  } catch(e) {}
  return false;
}

二、类似PHP常用的判断函数是否存在,不存在则创建

if (typeof String.prototype.endsWith != 'function') {
 String.prototype.endsWith = function(suffix) {
  return this.indexOf(suffix, this.length - suffix.length) !== -1;
 };
}

三、判断js函数是否存在,如果存在则执行

假设funcName为函数名字,用如下方法就可以达到目标

一定要添加try catch块,否则不起作用。

try 
{ 
 if(typeof(eval(funcName))=="function") 
 {
   funcName();
 }
}catch(e)
{
//alert("not function"); 
}

四、是否存在指定变量

function isExitsVariable(variableName) {
  try {
    if (typeof(variableName) == "undefined") {
      //alert("value is undefined"); 
      return false;
    } else {
      //alert("value is true"); 
      return true;
    }
  } catch(e) {}
  return false;
}

一般情况下,我们单独判断变量是否存在都是用

if("undefined" != typeof downlm){ 
if(downlm=="soft"){ 
document.write('成功'); 
} 
}

这样就不会因为直接使用变量导致出错了,适用于页面改版,旧页面没有变量赋值的情况。

Javascript 相关文章推荐
解决 firefox 不支持 document.all的方法
Mar 12 Javascript
用jquery设置按钮的disabled属性的实现代码
Nov 28 Javascript
jQuery结合HTML5制作的爱心树表白动画
Feb 01 Javascript
js实现获取div坐标的方法
Nov 16 Javascript
JavaScript中的冒泡排序法
Aug 03 Javascript
jQuery事件用法详解
Oct 06 Javascript
node.js版本管理工具n无效的原理和解决方法
Nov 24 Javascript
DropDownList控件绑定数据源的三种方法
Dec 24 Javascript
详解react服务端渲染(同构)的方法
Sep 21 Javascript
使用async-validator编写Form组件的方法
Jan 10 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
Feb 24 Javascript
Node.js API详解之 timer模块用法实例分析
May 07 Javascript
Javascript中实现String.startsWith和endsWith方法
Jun 10 #Javascript
Javascript中判断对象是否为空
Jun 10 #Javascript
javascript事件委托的方式绑定详解
Jun 10 #Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
Jun 10 #Javascript
浅析JavaScript动画
Jun 10 #Javascript
JavaScript操作XML文件之XML读取方法
Jun 09 #Javascript
JavaScript检查数字是否为整数或浮点数的方法
Jun 09 #Javascript
You might like
PHP设计模式之命令模式的深入解析
2013/06/13 PHP
PHP.vs.JAVA
2016/04/29 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
php+laravel依赖注入知识点总结
2019/11/04 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
Extjs中常用表单介绍与应用
2010/06/07 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
探讨JavaScript中的Rest参数和参数默认值
2015/07/29 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
基于jQuery实现咖啡订单管理简单应用
2017/02/10 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
解决vue-router 切换tab标签关闭时缓存问题
2020/07/22 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
Python字符串逐字符或逐词反转方法
2015/05/21 Python
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
python匿名函数的使用方法解析
2019/10/10 Python
python构造函数init实例方法解析
2020/01/19 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
英国健身超市:Fitness Superstore
2019/06/17 全球购物
《红军不怕远征难》教学反思
2014/04/14 职场文书
专题组织生活会发言材料
2014/10/17 职场文书
2015年技术工作总结范文
2015/04/20 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
Java8中Stream的一些神操作
2021/11/02 Java/Android