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 相关文章推荐
jquery radio 操作代码
Mar 16 Javascript
jQuery EasyUI API 中文文档 - ComboBox组合框
Oct 07 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
Oct 11 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
Jan 06 Javascript
jquery取子节点及当前节点属性值的方法
Sep 09 Javascript
javascript中获取元素标签中间的内容的实现方法
Oct 08 Javascript
JavaScript中数据类型转换总结
Dec 25 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
Jan 05 Javascript
jquery实现手机端单店铺购物车结算删除功能
Feb 22 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
Mar 07 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
Sep 05 Javascript
JS实现百度搜索框关键字推荐
Feb 17 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
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
在PHP中使用反射技术的架构插件使用说明
2010/05/18 PHP
php广告加载类用法实例
2014/09/23 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
php 数据结构之链表队列
2017/10/17 PHP
ExtJS 2.0实用简明教程 之Border区域布局
2009/04/29 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
2017/07/03 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
2017/08/16 Javascript
vue服务端渲染的实例代码
2017/08/28 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
vue单页应用的内存泄露定位和修复问题小结
2019/08/02 Javascript
Vue学习之组件用法实例详解
2020/01/06 Javascript
python实现apahce网站日志分析示例
2014/04/02 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
Python基于requests实现模拟上传文件
2020/04/21 Python
python 双循环遍历list 变量判断代码
2020/05/04 Python
linux面试题参考答案(2)
2015/12/06 面试题
Java程序员面试题
2013/07/15 面试题
网站设计师的岗位职责
2013/11/21 职场文书
招标授权委托书样本
2014/09/23 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers