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 相关文章推荐
JS 常用校验函数
Mar 26 Javascript
Google排名中的10个最著名的 JavaScript库
Apr 27 Javascript
jquery动态加载js三种方法实例
Aug 03 Javascript
各种页面定时跳转(倒计时跳转)代码总结
Oct 24 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
Jun 26 Javascript
javascript类型系统 Window对象学习笔记
Jan 07 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
Apr 29 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
Aug 17 Javascript
jQuery实现checkbox全选功能完整实例
Jul 12 jQuery
Vue 2.0 中依赖注入 provide/inject组合实战
Jun 20 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
Sep 18 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
May 12 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.MVC的模板标签系统(三)
2006/09/05 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
经常用到的JavasScript事件的翻译
2007/04/09 Javascript
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
js实现翻页后保持checkbox选中状态的实现方法
2012/11/03 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
2015/04/02 Javascript
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
JS实现黑色大气的二级导航菜单效果
2015/09/18 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
Node配合WebSocket做多文件下载以及进度回传
2019/11/07 Javascript
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
Python设计模式编程中Adapter适配器模式的使用实例
2016/03/02 Python
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
2017/07/24 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
实现Python与STM32通信方式
2019/12/18 Python
使用Python构造hive insert语句说明
2020/06/06 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
python爬虫如何解决图片验证码
2021/02/14 Python
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
SIMON MILLER官网:洛杉矶的生活方式品牌
2020/10/19 全球购物
饲料采购员岗位职责
2013/12/19 职场文书
三年级音乐教学反思
2014/01/28 职场文书
《童趣》教学反思
2014/02/19 职场文书
党员大会主持词
2014/04/02 职场文书
小学生读书活动总结
2014/06/30 职场文书
科技活动周标语
2014/10/08 职场文书
党员干部廉政承诺书
2015/04/28 职场文书