js判断变量是否未定义的代码


Posted in Javascript onMarch 28, 2020

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 相关文章推荐
多个iframe自动调整大小的问题
Sep 18 Javascript
控制打印时页眉角的代码
Feb 08 Javascript
Eval and new funciton not the same thing
Dec 27 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
Dec 27 Javascript
Node.js实现Excel转JSON
Apr 24 Javascript
jQuery使用方法
Feb 04 Javascript
详解webpack进阶之loader篇
Aug 23 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
May 01 Javascript
JS操作json对象key、value的常用方法分析
Oct 29 Javascript
django简单的前后端分离的数据传输实例 axios
May 18 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
Aug 14 Javascript
three.js中多线程的使用及性能测试详解
Jan 07 Javascript
jquery判断浏览器类型的代码
Nov 05 #Javascript
js实现翻页后保持checkbox选中状态的实现方法
Nov 03 #Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
Nov 01 #Javascript
js限制textarea每行输入字符串长度的代码
Oct 31 #Javascript
JS TextArea字符串长度限制代码集合
Oct 31 #Javascript
JS 控件事件小结
Oct 31 #Javascript
jQuery事件 delegate()使用方法介绍
Oct 30 #Javascript
You might like
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
php输出表格的实现代码(修正版)
2010/12/29 PHP
PHP 日,周,月点击排行统计
2012/01/11 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
table标签的结构与合并单元格的实现方法
2013/07/24 PHP
php文件操作相关类实例
2015/06/18 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
详解php curl带有csrf-token验证模拟提交方法
2018/04/18 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
JQuery Tips(3) 关于$()包装集内元素的改变
2009/12/14 Javascript
TBCompressor js代码压缩
2011/01/05 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
2013/06/05 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
javascript如何写热点图
2015/12/08 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
python爬虫获取多页天涯帖子
2018/02/23 Python
python requests指定出口ip的例子
2019/07/25 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
2020/03/14 Python
在pycharm中创建django项目的示例代码
2020/05/28 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
大学新学期计划书
2014/04/28 职场文书
大学社团计划书
2014/05/01 职场文书
负责人任命书范本
2014/06/04 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js