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 相关文章推荐
javascript cookies 设置、读取、删除实例代码
Apr 12 Javascript
js弹出模式对话框,并接收回传值的方法
Mar 12 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
Jun 13 Javascript
css+js实现部分区域高亮可编辑遮罩层
Mar 04 Javascript
javascript的日期对象、数组对象、二维数组使用说明
Dec 22 Javascript
javascript正则表达式定义(语法)总结
Jan 08 Javascript
简单实现js页面切换功能
Jan 10 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
layer弹出层中H5播放器全屏出错的解决方法
Feb 21 Javascript
微信小程序switch开关选择器使用详解
Jan 31 Javascript
浅谈js中的bind
Mar 18 Javascript
vue中v-show和v-if的异同及v-show用法
Jun 06 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实现的MongoDB数据库操作类分享
2014/05/12 PHP
php实现有趣的人品测试程序实例
2015/06/08 PHP
PHP缩略图生成和图片水印制作
2017/01/07 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
JS验证逗号隔开可以是中文字母数字
2016/04/22 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
使用原生js写ajax实例(推荐)
2017/05/31 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
js 奇葩技巧之隐藏代码
2017/08/11 Javascript
JS从非数组对象转数组的方法小结
2018/03/26 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
python函数局部变量用法实例分析
2015/08/04 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
Python 寻找局部最高点的实现
2019/12/05 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
Python如何获取文件指定行的内容
2020/05/27 Python
python线程池如何使用
2020/05/28 Python
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
Rossignol金鸡美国官网:始于1907年法国百年雪具品牌
2019/03/06 全球购物
《学会待客》教学反思
2014/02/22 职场文书
影视广告专业求职信
2014/09/02 职场文书
幼儿园卫生保健制度
2015/08/05 职场文书
浪漫婚礼主持词开场白
2015/11/24 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python