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 点击按钮显示和隐藏层的代码
Jul 25 Javascript
详解jquery uploadify 上传文件
Nov 09 Javascript
JavaScript中exec函数用法实例分析
Jun 08 Javascript
JavaScript中的getTime()方法使用详解
Jun 10 Javascript
原生js实现自由拖拽弹窗代码demo
Jun 29 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
Sep 06 Javascript
Vue-resource实现ajax请求和跨域请求示例
Feb 23 Javascript
React数据传递之组件内部通信的方法
Dec 31 Javascript
React 组件转 Vue 组件的命令写法
Feb 28 Javascript
vue select选择框数据变化监听方法
Aug 24 Javascript
详解VSCode配置启动Vue项目
May 14 Javascript
countUp.js实现数字滚动效果
Oct 18 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新手用的Insert和Update语句构造类
2012/03/31 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
js操作checkbox遇到的问题解决
2013/06/29 Javascript
JavaScript调用ajax获取文本文件内容实现代码
2014/03/28 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
如何快速上手Vuex
2017/02/14 Javascript
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
vue项目实现图片上传功能
2019/12/23 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
详解Python中的多线程编程
2015/04/09 Python
Python基于递归算法实现的走迷宫问题
2017/08/04 Python
Jupyter中直接显示Matplotlib的图形方法
2018/05/24 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
2018/06/26 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
Pytorch十九种损失函数的使用详解
2020/04/29 Python
学习python需要有编程基础吗
2020/06/02 Python
python代码中怎么换行
2020/06/17 Python
python dict如何定义
2020/09/02 Python
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
Oracle快照(snapshot)
2015/03/13 面试题
新闻专业大学生找工作的自我评价
2013/10/30 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
干部培训简讯
2015/07/20 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript