前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何判断js函数存在

如何判断js函数存在

作者头像
乔千
发布2020-04-14 20:33:26
7.6K0
发布2020-04-14 20:33:26
举报

前言

有时候想判断一个js变量或者js函数时候存在,该怎么实现呢?

引发

最近开发一款应用插件,兼容pjax会调用函数加载播放器,但是有时候页面没有音乐就不需要加载播放器,这时候调用函数就会报错。

解决方案

怎么判断函数是否存在,调用这个函数,参数传入函数名存在返回真否则假

     function isExitsFunction(funcName) {try { if (typeof(eval(funcName)) == "function") {return true;} } catch(e) {}  return false;} 

解决问题

看看不是说播放器问题吗,我们需要新建一个函数,pjax调用它,这个新函数判断加载播放器函数时候存在,如果存在就加载,否则就退出。

原理刨析

eval 函数 执行一段js并返回值 typeof 函数 判断类型 try catch 代码块 捕捉错误并防止程序终止

  typeof(eval(funcName)) == "function"

这行代码获取这个函数 判断类型时候为function

eval执行函数名如果存在就会成功(返回类型或者值) 如果失败就会throw error这时候套try catch语法就可以阻止错误丢出

 catch(e) {}

很显然捕捉了错误 接着执行最后一行

  return false;

js函数不存在

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 引发
  • 解决方案
  • 解决问题
  • 原理刨析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档