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 this关键字的问题
Jan 09 Javascript
纯css+js写的一个简单的tab标签页带样式
Jan 28 Javascript
node.js中的http.request.end方法使用说明
Dec 10 Javascript
js中this的用法实例分析
Jan 10 Javascript
jQuery实现磁力图片跟随效果完整示例
Sep 16 Javascript
jQuery插件ajaxFileUpload异步上传文件
Oct 19 Javascript
jQuery实现页面倒计时并刷新效果
Mar 13 Javascript
vue.js使用3DES加密的方法示例
May 18 Javascript
通过jquery.cookie.js实现记住用户名、密码登录功能
Jun 20 jQuery
对layui初始化列表的CheckBox属性详解
Sep 13 Javascript
javascript 高级语法之继承的基本使用方法示例
Nov 11 Javascript
原生JS与JQ获取元素的区别详解
Feb 13 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
在线增减.htpasswd内的用户
2006/10/09 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
PHP运用foreach神奇的转换数组(实例讲解)
2018/02/01 PHP
js中parseInt函数浅谈
2013/07/31 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
Vue实现图片轮播组件思路及实例解析
2020/05/11 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
深入解读Python解析XML的几种方式
2016/02/16 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
解决Django中多条件查询的问题
2019/07/18 Python
Python字节单位转换实例
2019/12/05 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
python实现三壶谜题的示例详解
2020/11/02 Python
CSS3 实现的加载动画
2020/12/07 HTML / CSS
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
建筑工程自我鉴定
2013/10/18 职场文书
幼儿园实习生辞职信
2014/01/20 职场文书
高中体育教学反思
2014/01/29 职场文书
学生手册家长评语
2014/02/10 职场文书
应届大专生自荐书
2014/06/16 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
2014年小学少先队工作总结
2014/12/18 职场文书
婚宴邀请函
2015/01/30 职场文书
质检员岗位职责范本
2015/04/07 职场文书
民间借贷借条范本
2015/05/25 职场文书
仓库管理制度范本
2015/08/04 职场文书
新手入门Mysql--概念
2021/06/18 MySQL