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+ajax 购物车框架(入门篇)
Oct 29 Javascript
一个通过script自定义属性传递配置参数的方法
Sep 15 Javascript
AngularJS自动表单验证
Feb 01 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
Dec 05 Javascript
微信小程序之数据双向绑定与数据操作
May 12 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
Aug 01 jQuery
微信小程序movable view移动图片和双指缩放实例代码
Aug 08 Javascript
ES6中Array.copyWithin()函数的用法实例详解
Sep 16 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
Nov 11 Javascript
VueJs监听window.resize方法示例
Jan 17 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
Sep 17 Javascript
node.js express捕获全局异常的三种方法实例分析
Dec 27 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
提问的智慧
2006/10/09 PHP
smarty实例教程
2006/11/19 PHP
php 随机生成10位字符代码
2009/03/26 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
2014/01/17 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
详解js文件通过python访问数据库方法
2019/03/03 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
dpn网络的pytorch实现方式
2020/01/14 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
客户代表实习人员自我鉴定
2013/09/27 职场文书
中专毕业生自荐信范文
2013/11/28 职场文书
大学生创业策划书
2014/02/02 职场文书
教师自我反思材料
2014/02/14 职场文书
授权委托书范文
2014/07/31 职场文书
简单租房协议书
2014/10/21 职场文书
留学推荐信怎么写
2015/03/26 职场文书
北京青年观后感
2015/06/15 职场文书
学生会工作感言
2015/08/07 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
浅谈Mysql多表连接查询的执行细节
2021/04/24 MySQL
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python