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 相关文章推荐
addEventListener和attachEvent二者绑定的执行函数中的this不相同
Dec 09 Javascript
用js实现小球的自由移动代码
Apr 22 Javascript
jQuery中用dom操作替代正则表达式
Dec 29 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
Aug 24 Javascript
JavaScript实现点击按钮就复制当前网址
Dec 14 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
Jul 14 Javascript
微信小程序 实例应用(记账)详解
Sep 28 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
Jun 28 Javascript
vue实现Excel文件的上传与下载功能的两种方式
Jun 28 Javascript
ES6中异步对象Promise用法详解
Jul 31 Javascript
Vue的Options用法说明
Aug 14 Javascript
JS+CSS实现动态时钟
Feb 19 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
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
PHP小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
php实现的简单检验登陆类
2015/06/18 PHP
ZendFramework框架实现连接两个或多个数据库的方法
2016/12/08 PHP
PHP实现动态压缩js与css文件的方法
2018/05/02 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
2019/02/15 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
javascript 广告后加载,加载完页面再加载广告
2010/11/25 Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
2012/12/26 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
jquery实现具有收缩功能的垂直导航菜单
2016/02/16 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
angular5 httpclient的示例实战
2018/03/12 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
NodeJs生成sitemap站点地图的方法示例
2019/06/11 NodeJs
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
python实现simhash算法实例
2014/04/25 Python
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
在Python中定义和使用抽象类的方法
2016/06/30 Python
Python多图片合并PDF的方法
2019/01/03 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
论群众路线学习笔记
2014/11/06 职场文书
校车司机安全责任书
2015/05/11 职场文书
2015年幼儿教育工作总结
2015/07/24 职场文书