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代码
Jun 27 Javascript
用js实现的自定义的对话框的实现代码
Mar 21 Javascript
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
Sep 12 Javascript
jquery中动态效果小结
Dec 16 Javascript
JS实现可点击展开与关闭的左侧广告代码
Sep 02 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
Nov 04 Javascript
Node.js实现JS文件合并小工具
Feb 02 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
Apr 03 Javascript
微信小程序-详解数据缓存
Nov 24 Javascript
Bootstrap轮播图学习使用
Feb 10 Javascript
javascript将url解析为json格式的两种方法
Aug 18 Javascript
JS闭包原理与应用经典示例
Dec 20 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遍历数组的方法分享
2012/03/22 PHP
php解析url的三个示例
2014/01/20 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
javascript Zifa FormValid 0.1表单验证 代码打包下载
2007/06/08 Javascript
jquery 操作DOM的基本用法分享
2012/04/05 Javascript
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
javascript静态页面传值的三种方法分享
2013/11/12 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
2016/05/05 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
nodejs操作mysql实现增删改查的实例
2017/05/28 NodeJs
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
python魔法方法-属性访问控制详解
2016/07/25 Python
Python实现读取文件最后n行的方法
2017/02/23 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
Python中使用遍历在列表中添加字典遇到的坑
2019/02/27 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
Delphi笔试题
2016/11/14 面试题
工程概预算专业毕业生求职信
2013/10/04 职场文书
团支书的期末学习总结自我评价
2013/11/01 职场文书
八年级英语教学反思
2014/01/09 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
兵马俑导游词
2015/02/02 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
KTV员工管理制度
2015/08/06 职场文书
教师旷工检讨书
2015/08/15 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
2019 入党申请书范文
2019/07/10 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
高一作文之乐趣
2019/11/21 职场文书
用JS实现飞机大战小游戏
2021/06/09 Javascript