JS实现的判断方法、变量是否存在功能示例


Posted in Javascript onMarch 28, 2020
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
////3water.com/article/67551.htm
//判断变量i是否存在 typeof(i)=="undefined"
<script>
 /*---------------------------判断函数是否存在-------------------------------*/
 function isExitsFunction(funcName) {
  try {
   if (typeof(eval(funcName)) == "function") {
    return true;
    // funcName();
   }
  } catch (e) {
   console.log(eval(funcName) + "+++++++++++++++++我异常了!!!!!!!!");
  }
  return false;
 }
 /*--------------------------------判断是否存在指定变量 -----------------------------------------*/
 function isExitsParamsVariable(variableName) {
  try {
   console.log("variableName.length===" + variableName.length);
   if (variableName.length == 0) {
    console.log(variableName + "===value has no params");//"":length为0
    return false;
   } else {
    console.log(variableName + "======value has params");//0:length为undefined
    return true;
   }
  } catch (e) {
   console.log(variableName + "----我异常了!!!!!!!!");//null,undefined,未赋值的a
  }
  return false;//null,undefined,未赋值的a
 }
 /*---------------------------------判断是否undefined--------------------------------*/
 function isExitsVariable(variableName) {
  console.log("typeof variableName====" + typeof(variableName));
  try {
   if (typeof(variableName) == "undefined") {
    console.log(variableName + "===value is undefined");//undefined,未赋值的a
    return false;
   } else {
    console.log(variableName + "=======value is true");//null,0,""
    return true;
   }
  } catch (e) {
   console.log(variableName + "-------我异常了........");
  }
  return false;
 }
 /*-------------------------------------------------测试数据---------------------------------------------*/
 var a;//声明未初始化,没有长度
 console.log("isExitsParamsVariable(a)" + isExitsParamsVariable(a));
 console.log("isExitsVariable(a)" + isExitsVariable(a));
 console.log("--------------------------------------------------")
 var b = undefined;//没有长度
 console.log("isExitsParamsVariable(b)===" + isExitsParamsVariable(b));
 console.log("isExitsVariable(b)===" + isExitsVariable(b));
 console.log("--------------------------------------------------")
 var c = null;//没有长度
 console.log("isExitsParamsVariable(c)===" + isExitsParamsVariable(c));
 console.log("isExitsVariable(c)===" + isExitsVariable(c));
 console.log("--------------------------------------------------")
 var d = 0;//长度undefined
 console.log("isExitsParamsVariable(d)===" + isExitsParamsVariable(d));
 console.log("isExitsVariable(d)===" + isExitsVariable(d));
 console.log("--------------------------------------------------")
 var e = "";//长度为0
 console.log("isExitsParamsVariable(e)====" + isExitsParamsVariable(e));
 console.log("isExitsVariable(e)===" + isExitsVariable(e));
 console.log("--------------------------------------------------")
 /*未定义声明 f 则log会报错:Uncaught ReferenceError: f is not defined ,不会执行两个判断方法*/
 console.log("isExitsParamsVariable(f)====" + isExitsParamsVariable(f));//f:undefined
 console.log("isExitsVariable(f)===" + isExitsVariable(f));
</script>
</body>
</html>

本文实例讲述了JS实现的判断方法、变量是否存在功能。分享给大家供大家参考,具体如下:

js 代码中经常会碰到 undefined 这种错误,下面本文分享一下为什么会发生这种错误以及如何处理这种错误,js 中如果通过 var 声明了一个变量但是没有初始化该变量的时候,此时该变量的值便为 undefined ,此时判断变量是否定义可使用 typeof 。下面举例说明一下

if(!result){ 
 alert("发生错误"); 
}

以上这段代码直接运行会发生异常,因为变量 result 没有申明就被使用了,下面几种写法都是正确的。

(1) 
 
if("undefined" == typeof result){ 
 alert("发生错误"); 
} 
(2) 
 
var result; 
if(undefined == result){ 
 alert("发生错误"); 
} 
(3) 
 
if("undefined" == typeof result){ 
 alert("发生错误"); 
}

补充

例如:

if(!myVar01)alert("发生错误");

// 该代码直接发生异常,因为变量myVar01没有申明 if("undefined" == typeof myVar01)alert("发生错误");

// 这样写才不至于发生异常

而: var myVar01; if(undefined == myVar01)alert("发生错误");

// 该代码会正确运行 if("undefined" == typeof myVar01)alert("发生错误");
// 该代码同样会正确运行

结论:我们采用下面的方式来保证万无一失 if("undefined" == typeof myVar01)alert("发生错误");

// 该代码同样会正确运行

当然判断数据的有效性远远不只这些,还有对null的判断,数字是否大道越界.

实例

<script>
//最常用
if("undefined" == typeof('a')){
//未定义
}else{
//定义
}

if("undefined" == typeof a){
//未定义
}else{
//定义
}

if(typeof a != "undefined"){
//true 定义
}else{
 //false 未定义
}
</script>

实际应用:

downlm有的页面我们不定义,但有的页面定义了,就可以需要这样的判断方法,没有定义的就不执行。

if("undefined" != typeof downlm){ 
if(downlm=="soft"){ 
document.write('成功'); 
} 
}

经测试完美。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
Dec 14 Javascript
微信小程序 wx.request方法的异步封装实例详解
May 18 Javascript
vue+axios实现登录拦截的实例代码
May 22 Javascript
Javascript(es2016) import和require用法和区别详解
Aug 11 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
Aug 24 Javascript
vue做网页开场视频的实例代码
Oct 20 Javascript
基于Vue的ajax公共方法(详解)
Jan 20 Javascript
setTimeout与setInterval的区别浅析
Mar 23 Javascript
layui清除radio的选中状态实例
Nov 14 Javascript
vue 封装 Adminlte3组件的实现
Mar 18 Javascript
vue element table中自定义一些input的验证操作
Jul 18 Javascript
vue组件vue-esign实现电子签名
Apr 21 Vue.js
vue 路由嵌套高亮问题的解决方法
May 17 #Javascript
JS实现字符串中去除指定子字符串方法分析
May 17 #Javascript
结合Vue控制字符和字节的显示个数的示例
May 17 #Javascript
微信小程序使用form表单获取输入框数据的实例代码
May 17 #Javascript
AngularJS实现的base64编码与解码功能示例
May 17 #Javascript
解决修复npm安装全局模块权限的问题
May 17 #Javascript
npm 下载指定版本的组件方法
May 17 #Javascript
You might like
PHP跳转页面的几种实现方法详解
2013/06/08 PHP
PHP 解决session死锁的方法
2013/06/20 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
php中array_slice和array_splice函数解析
2016/10/18 PHP
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
浅析js绑定事件的常用方法
2016/05/15 Javascript
jQuery限制图片大小的方法
2016/05/25 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
js实现上下左右键盘控制div移动
2020/01/16 Javascript
js实现聊天对话框
2020/02/08 Javascript
python实现去除下载电影和电视剧文件名中的多余字符的方法
2014/09/23 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
使用Django Form解决表单数据无法动态刷新的两种方法
2017/07/14 Python
python 列表,数组,矩阵两两转换tolist()的实例
2018/04/04 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
详解python深浅拷贝区别
2019/06/24 Python
python绘制直方图和密度图的实例
2019/07/08 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
python之生成多层json结构的实现
2020/02/27 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
2020/07/09 Python
Python hashlib模块的使用示例
2020/10/09 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
韩国知名的家庭购物网站:CJmall
2016/08/01 全球购物
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
postgres之jsonb属性的使用操作
2021/06/23 PostgreSQL
Java练习之潜艇小游戏的实现
2022/03/16 Java/Android