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 相关文章推荐
用jquery模仿的a的title属性(兼容ie6/7)
Jan 21 Javascript
三种检测iPhone/iPad设备方向的方法
Apr 23 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
Dec 01 Javascript
使用jquery获取url及url参数的简单实例
Jun 14 Javascript
JavaScript利用Date实现简单的倒计时实例
Jan 12 Javascript
Angular.JS中指令ng-if的注意事项小结
Jun 21 Javascript
详解node如何让一个端口同时支持https与http
Jul 04 Javascript
解决vue页面刷新或者后退参数丢失的问题
Mar 13 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
May 11 Javascript
微信小程序wx:for循环的实例详解
Oct 07 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
Oct 10 Javascript
浅谈实现在线预览PDF的几种解决办法
Aug 10 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
收音机鉴频器对声音的影响和频偏分析
2021/03/02 无线电
PHP中ADODB类详解
2008/03/25 PHP
提高PHP编程效率的方法
2013/11/07 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
jQuery的链式调用浅析
2010/12/03 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
jQuery中next方法用法实例
2015/04/24 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
Angular 4 指令快速入门教程
2017/06/07 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
JavaScript实现数组全排列、去重及求最大值算法示例
2018/07/30 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
[00:49]完美世界DOTA2联赛10月28日开团时刻:随便打
2020/10/29 DOTA
[36:20]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.17
2020/12/18 DOTA
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
python+django快速实现文件上传
2016/10/24 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
python实现京东秒杀功能
2018/07/30 Python
浅谈python实现Google翻译PDF,解决换行的问题
2018/11/28 Python
python中实现控制小数点位数的方法
2019/01/24 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
2019/09/29 Python
Python测试线程应用程序过程解析
2019/12/31 Python
零基础小白多久能学会python
2020/06/22 Python
Python 如何展开嵌套的序列
2020/08/01 Python
美国网上鞋城:Shoeline.com
2016/11/17 全球购物
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
经理秘书求职自荐信范文
2014/03/23 职场文书
运动会拉拉队口号
2014/06/09 职场文书
2014年公司工作总结
2014/11/22 职场文书
芙蓉镇观后感
2015/06/10 职场文书