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 相关文章推荐
激活 ActiveX 控件
Oct 09 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
Jan 08 Javascript
THREE.JS入门教程(5)你应当知道的十件事
Jan 24 Javascript
利用js 进行输入框自动匹配字符的小例子
Jun 29 Javascript
js jq 单击和双击区分示例介绍
Nov 05 Javascript
js快速排序的实现代码
Dec 08 Javascript
javascript原始值和对象引用实例分析
Apr 25 Javascript
jQuery实现美观的多级动画效果菜单代码
Sep 06 Javascript
浅谈JavaScript函数的四种存在形态
Jun 08 Javascript
JavaScript中 ES6变量的结构赋值
Jul 10 Javascript
vue配置接口域名方法总结
May 12 Javascript
JavaScript迭代器的含义及用法
Jun 21 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学习之正则表达式
2011/04/17 PHP
PHP 断点续传实例详解
2017/11/11 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
jQuery 性能优化指南 (1)
2009/05/21 Javascript
自己动手制作jquery插件之自动添加删除行功能介绍
2011/10/14 Javascript
jquery 合并内容相同的单元格(示例代码)
2013/12/13 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
2016/11/28 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
Javascript实现时间倒计时功能
2018/11/17 Javascript
[01:14]DOTA2亚洲邀请赛小组赛赛前花絮
2017/03/27 DOTA
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
使用Python求解最大公约数的实现方法
2015/08/20 Python
python的Tqdm模块的使用
2018/01/10 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
python 实现return返回多个值
2019/11/19 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
Python JSON编解码方式原理详解
2020/01/20 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
2020/01/20 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
python如何随机生成高强度密码
2020/08/19 Python
技校个人求职信范文
2014/01/25 职场文书
三年级音乐教学反思
2014/01/28 职场文书
元旦趣味活动方案
2014/08/22 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
医德医风自我评价2015
2015/03/03 职场文书
红色经典电影观后感
2015/06/18 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python