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 ToolTip提示效果
Jul 20 Javascript
JS函数实现动态添加CSS样式表文件
Dec 15 Javascript
js复制到剪切板的实例方法
Jun 28 Javascript
js实现页面转发功能示例代码
Aug 05 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
Dec 04 Javascript
JavaScript中一些特殊的字符运算
Aug 17 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
Mar 15 Javascript
bootstrap下拉分页样式 带跳转页码
Dec 29 Javascript
JS防抖和节流实例解析
Sep 24 Javascript
JavaScript实现拖拽盒子效果
Feb 06 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
Sep 01 Javascript
一起来看看Vue的核心原理剖析
Mar 24 Vue.js
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中PDO基础教程 入门级
2011/09/04 PHP
php 短链接算法收集与分析
2011/12/30 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
javascript之锁定表格栏位
2007/06/29 Javascript
动态修改DOM 里面的 id 属性的弊端分析
2008/09/03 Javascript
Prototype中dom对象方法汇总
2008/09/17 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
2014/01/23 Javascript
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
AngularJS入门教程之过滤器详解
2016/08/19 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
Python文本相似性计算之编辑距离详解
2016/11/28 Python
基于pandas数据样本行列选取的方法
2018/04/20 Python
python调试神器PySnooper的使用
2019/07/03 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
2020/07/09 Python
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
网络程序员自荐信
2014/01/25 职场文书
女娲补天教学反思
2014/02/05 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
个人工作保证书
2015/02/28 职场文书
大学学生会主席竞选稿
2015/11/19 职场文书
Minikube搭建Kubernetes集群
2022/03/31 Servers