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居然支持中文(unicode)编程!
Apr 12 Javascript
jQuery Ajax使用 全解析
Dec 15 Javascript
javascript异步编程的4种方法
Feb 19 Javascript
Javascript基础教程之比较操作符
Jan 18 Javascript
JavaScript 浏览器对象模型BOM使用介绍
Apr 13 Javascript
跟我学习javascript的undefined与null
Nov 17 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
Dec 31 Javascript
Angularjs的Controller间通信机制实例分析
Nov 07 Javascript
那些精彩的JavaScript代码片段
Jan 12 Javascript
让你彻底掌握es6 Promise的八段代码
Jul 26 Javascript
JS实现十字坐标跟随鼠标效果
Dec 25 Javascript
p5.js绘制创意自画像
Nov 04 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检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
PHP实现合并discuz用户
2015/08/05 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
php如何获取Http请求
2020/04/30 PHP
[推荐]javascript 面向对象技术基础教程
2009/03/03 Javascript
jQuery live
2009/05/15 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
jQuery弹出层插件Lightbox_me使用指南
2015/04/21 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
JS组件Bootstrap Table布局详解
2016/05/27 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
vue.js事件处理器是什么
2017/03/20 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
vue 挂载路由到头部导航的方法
2017/11/13 Javascript
详解VueJS应用中管理用户权限
2018/02/02 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
JS如何实现手机端输入验证码效果
2020/05/13 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
Python 使用type来定义类的实现
2019/11/19 Python
HTML5拖拉上传文件的简单实例
2017/01/11 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
Penhaligon’s英国官网:成立于1870年的英国香水制造商
2021/02/18 全球购物
致铅球运动员广播稿精选
2014/01/12 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
留学推荐信中文范文
2015/03/26 职场文书
开会迟到检讨书范文
2015/05/06 职场文书
第一军规观后感
2015/06/12 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js