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.uploadify 上传文件插件的使用详解 for ASP.NET
Jan 22 Javascript
javascript针对DOM的应用分析(三)
Apr 15 Javascript
js图片自动切换效果处理代码
May 07 Javascript
jQuery+CSS3实现树叶飘落特效
Feb 01 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
Jul 09 Javascript
jQuery动态添加与删除tr行实例代码
Oct 18 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
Mar 19 Javascript
JavaScript设置名字输入不合法的实现方法
May 23 Javascript
利用 spin.js 生成等待效果(js 等待效果)
Jun 25 Javascript
详解cordova打包成webapp的方法
Oct 18 Javascript
webpack打包js文件及部署的实现方法
Dec 18 Javascript
vue登录以及权限验证相关的实现
Oct 25 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验证信用卡卡号是否正确函数
2015/05/27 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
2019/08/30 PHP
查询json的数据结构的8种方式简介
2014/03/10 Javascript
JS简单计算器实例
2015/01/20 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
逻辑表达式中与或非的用法详解
2016/06/06 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
js实现登录与注册界面
2017/11/01 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
vue实现轮播图帧率播放
2021/01/26 Vue.js
[59:08]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第一局
2016/02/27 DOTA
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
python suds访问webservice服务实现
2020/06/26 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
Order by的几种用法
2013/06/16 面试题
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
大学军训感言800字
2014/02/27 职场文书
就业推荐表自我鉴定
2014/03/21 职场文书
推荐信模板
2014/05/09 职场文书
感动中国何玥观后感
2015/06/02 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
JS新手入门数组处理的实用方法汇总
2021/04/07 Javascript