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 相关文章推荐
onkeypress字符按键兼容所有浏览器使用介绍
Apr 24 Javascript
js正则表达exec与match的区别说明
Jan 29 Javascript
JavaScript函数定义的常见注意事项小结
Sep 16 Javascript
JavaScript基础知识学习笔记
Dec 02 Javascript
微信小程序wx.previewImage预览图片实例详解
Dec 07 Javascript
Vue使用json-server进行后端数据模拟功能
Apr 17 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
Aug 20 Javascript
详解JavaScript作用域和作用域链
Mar 19 Javascript
深入了解JavaScript代码覆盖
Jun 13 Javascript
vue点击按钮动态创建与删除组件功能
Dec 29 Javascript
原生JavaScript实现幻灯片效果
Feb 19 Javascript
quickjs 封装 JavaScript 沙箱详情
Nov 02 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中cookies使用指南
2007/03/16 PHP
PHP 替换模板变量实现步骤
2009/08/24 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
PHP使用SOAP调用.net的WebService数据
2013/11/12 PHP
php微信公众号开发之简答题
2018/10/20 PHP
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
Node.js编码规范
2014/07/14 Javascript
Jquery 实现table样式的设定
2015/01/28 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
微信小程序进入广告实现代码实例
2019/09/19 Javascript
Node.js API详解之 timer模块用法实例分析
2020/05/07 Javascript
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
Python3 模块、包调用&amp;路径详解
2017/10/25 Python
python sort、sort_index方法代码实例
2019/03/28 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
2019/06/18 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
如何判断计算机可能已经中马
2013/03/22 面试题
计算机大学生的自我评价
2013/10/15 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers
使用Redis做预定库存缓存功能
2022/04/02 Redis