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 相关文章推荐
Valerio 发布了 Mootools
Sep 23 Javascript
基于jquery 的一个progressbar widge
Oct 29 Javascript
用JS做的简单的可折叠的两级树形菜单
Sep 21 Javascript
非html5实现js版弹球游戏示例代码
Sep 22 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
Sep 26 Javascript
JavaScript对象参数的引用传递
Jan 14 Javascript
jQuery实现用户信息表格的添加和删除功能
Sep 12 jQuery
JS实现简单的浮动碰撞效果示例
Dec 28 Javascript
使用 vue.js 构建大型单页应用
Feb 10 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
Apr 28 Javascript
基于Node.js的大文件分片上传示例
Jun 19 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
Sep 26 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实现多图片上传类实例
2014/07/26 PHP
PHP实现QQ登录实例代码
2016/01/14 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
很酷的javascript loading效果代码
2008/06/18 Javascript
JavaScript的document对象和window对象详解
2010/12/30 Javascript
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
Js的Array数组对象详解
2016/02/22 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
JS传值出现中文参数乱码的解决方法
2016/06/30 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
2018/02/08 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
Layui实现带查询条件的分页
2019/07/27 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
pytorch构建多模型实例
2020/01/15 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
马来西亚网上购物平台:ezbuy
2018/02/13 全球购物
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
金融专业推荐信
2013/11/14 职场文书
跟单文员岗位职责
2014/01/03 职场文书
妇女干部培训方案
2014/05/12 职场文书
多媒体教室标语
2014/06/26 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
护士先进个人总结
2015/02/13 职场文书
高中生个性发展自我评价
2015/03/09 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
Vue图片裁剪组件实例代码
2021/07/02 Vue.js
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL