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 相关文章推荐
jQuery图片的展开和收缩实现代码
Apr 16 Javascript
Jquery实现自定义tooltip示例代码
Feb 12 Javascript
js密码强度实时检测代码
Mar 02 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
Apr 23 Javascript
jQuery四种选择器使用及示例
Jun 05 Javascript
javaScript知识点总结(必看篇)
Jun 10 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
Jul 07 Javascript
自己封装的一个原生JS拖动方法(推荐)
Nov 22 Javascript
BootStrap Tooltip插件源码解析
Dec 27 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
Nov 08 jQuery
AngularJS实现图片上传和预览功能的方法分析
Nov 08 Javascript
JS手写一个自定义Promise操作示例
Mar 16 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调用三种数据库的方法(1)
2006/10/09 PHP
PHP的单引号和双引号 字符串效率
2009/05/27 PHP
让PHP更快的提供文件下载的代码
2012/06/13 PHP
PHP实现加强版加密解密类实例
2015/07/29 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
PHP实现验证码校验功能
2017/11/16 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
PhpSpreadsheet设置单元格常用操作汇总
2020/11/13 PHP
MooTools 页面滚动浮动层智能定位实现代码
2011/08/23 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
JS简单获取当前年月日星期的方法示例
2017/02/07 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
详解JavaScript添加给定的标签选项
2018/09/17 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
[01:10]DOTA2亚洲邀请赛 征战号角响彻全场
2015/01/06 DOTA
[10:24]郎朗助力完美“圣”典,天籁交织奏响序曲
2016/12/18 DOTA
python私有属性和方法实例分析
2015/01/15 Python
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
儿童编程python入门
2018/05/08 Python
Flask模拟实现CSRF攻击的方法
2018/07/24 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
django中使用POST方法获取POST数据
2019/08/20 Python
opencv 查找连通区域 最大面积实例
2020/06/04 Python
如何用Python徒手写线性回归
2021/01/25 Python
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
新闻专业本科生的自我评价分享
2013/11/20 职场文书
个人职业生涯规划书1500字
2013/12/31 职场文书
教师职位说明书
2014/07/29 职场文书
教师年度考核个人总结
2015/02/12 职场文书
2015年物业管理员工工作总结
2015/10/15 职场文书
银行求职信范文
2019/05/13 职场文书
小公司融资,商业计划书的8切记
2019/07/15 职场文书