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 相关文章推荐
js实时监听文本框状态的方法
Apr 26 Javascript
Script标签与访问HTML页面详解
Jan 10 Javascript
jQuery插件分享之分页插件jqPagination
Jun 06 Javascript
JavaScript动态插入CSS的方法
Dec 10 Javascript
AngularJS  $modal弹出框实例代码
Aug 24 Javascript
关于webuploader插件使用过程遇到的小问题
Nov 07 Javascript
JQuery学习总结【一】
Dec 01 Javascript
详解Vue中添加过渡效果
Mar 20 Javascript
javascript中json对象json数组json字符串互转及取值方法
Apr 19 Javascript
Node.JS利用PhantomJs抓取网页入门教程
May 19 Javascript
Bootstrap4 gulp 配置详解
Jan 06 Javascript
JS实现多功能计算器
Oct 28 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
PHP实现手机归属地查询API接口实现代码
2012/08/27 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
php如何计算两坐标点之间的距离
2018/12/29 PHP
Extjs学习笔记之四 工具栏和菜单
2010/01/07 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
three.js 入门案例详解
2018/01/23 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
微信小程序实现自定义底部导航
2020/11/18 Javascript
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
Python3中多线程编程的队列运作示例
2015/04/16 Python
对Tensorflow中的矩阵运算函数详解
2018/07/27 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
基于Tensorflow高阶读写教程
2020/02/10 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
python 密码学示例——理解哈希(Hash)算法
2020/09/21 Python
Lombok插件安装(IDEA)及配置jar包使用详解
2020/11/04 Python
Python函数调用追踪实现代码
2020/11/27 Python
python3实现名片管理系统(控制台版)
2020/11/29 Python
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
html5.2 dialog简介详解
2018/02/27 HTML / CSS
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
error和exception有什么区别
2012/10/02 面试题
英文简历中的自我评价
2013/10/06 职场文书
大学生求职简历的自我评价
2013/10/21 职场文书
高中美术教学反思
2014/01/19 职场文书
优秀体育委员自荐书
2014/01/31 职场文书
工程管理英文求职信
2014/03/18 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书