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 相关文章推荐
JavaScript 构造函数 面相对象学习必备知识
Jun 09 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
Dec 26 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
Mar 02 Javascript
JS实现的车标图片提示效果代码
Oct 10 Javascript
JS判断图片是否加载完成方法汇总(最新版)
May 13 Javascript
jQuery插件pagination实现无刷新分页
May 21 Javascript
jquery自动补齐功能插件flexselect用法示例
Aug 06 Javascript
Bootstrap select实现下拉框多选效果
Dec 23 Javascript
BootStrap表单宽度设置方法
Mar 10 Javascript
浅析Angular2子模块以及异步加载
Apr 24 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
Feb 13 Javascript
深入理解react 组件类型及使用场景
Mar 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
星际争霸任务指南——虫族
2020/03/04 星际争霸
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
php之可变变量的实例详解
2017/09/12 PHP
DHTML 中的绝对定位
2006/11/26 Javascript
jQuery bind事件使用详解
2011/05/05 Javascript
JavaScript中prototype为对象添加属性的误区介绍
2013/10/15 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
jQuery实现鼠标滑过点击事件音效试听
2015/08/31 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
jQuery纵向导航菜单效果实现方法
2016/12/19 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
2017/01/19 Javascript
vue 循环加载数据并获取第一条记录的方法
2018/09/26 Javascript
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
ES6 let和const定义变量与常量的应用实例分析
2019/06/27 Javascript
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
[47:22]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
python字符串的方法与操作大全
2018/01/30 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
python添加菜单图文讲解
2019/06/04 Python
python-django中的APPEND_SLASH实现方法
2019/06/21 Python
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
银行出纳岗位职责
2013/11/25 职场文书
创业计划实施的7大步骤
2014/02/05 职场文书
介绍信的格式
2015/01/30 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
react如何快速设置文件路径别名
2021/04/28 Javascript
python异常中else的实例用法
2021/06/15 Python
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js