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 相关文章推荐
JavaScript中的Screen屏幕对象
Jan 16 Javascript
HTML 自动伸缩的表格Table js实现
Apr 01 Javascript
基于jquery的超简单上下翻
Apr 20 Javascript
Jquery获取和修改img的src值的方法
Feb 17 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
Jun 16 Javascript
Jquery 实现弹出层插件
Jan 28 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
May 15 Javascript
vue axios数据请求get、post方法及实例详解
Sep 11 Javascript
vue实现行列转换的一种方法
Aug 06 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
Sep 11 Javascript
js实现随机点名程序
Sep 17 Javascript
js 执行上下文和作用域的相关总结
Feb 08 Javascript
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
DC动漫人物排行
2020/03/03 欧美动漫
用libTemplate实现静态网页的生成
2006/10/09 PHP
PHP set_error_handler()函数使用详解(示例)
2013/11/12 PHP
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
JavaScript null和undefined区别分析
2009/10/14 Javascript
JavaScript 原型学习总结
2010/10/29 Javascript
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
JavaScript闭包实例讲解
2014/04/22 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
2014/06/09 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
[05:28]刀塔密之一:团结则存
2014/07/03 DOTA
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
Python教程之全局变量用法
2016/06/27 Python
对web.py设置favicon.ico的方法详解
2018/12/04 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
土耳其新趋势女装购物网站:Addax
2020/01/07 全球购物
活动总结新闻稿
2014/08/30 职场文书
2014年测量员工作总结
2014/12/12 职场文书
导游词范文
2015/02/13 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
公司保密管理制度
2015/08/04 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书
MySQL root密码的重置方法
2021/04/21 MySQL
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS
如何使用python包中的sched事件调度器
2022/04/30 Python
redis lua限流算法实现示例
2022/07/15 Redis