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 相关文章推荐
如果文字过长,则将过长的部分变成省略号显示
Jun 26 Javascript
jquery ui resizable bug解决方法
Oct 26 Javascript
一个简单的js树形菜单
Dec 09 Javascript
js替代copy(示例代码)
Nov 27 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
Dec 31 Javascript
Vue 2.X的状态管理vuex记录详解
Mar 23 Javascript
Angular.js中angular-ui-router的简单实践
Jul 18 Javascript
vue 组件中添加样式不生效的解决方法
Jul 06 Javascript
关于单文件组件.vue的使用
Sep 20 Javascript
d3绘制基本的柱形图的实现代码
Dec 12 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
Jul 20 Javascript
原生JavaScript之es6中Class的用法分析
Feb 23 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 CURL用法的深入分析
2013/06/09 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
ext 代码生成器
2009/08/07 Javascript
javascript面向对象编程(一) 实例代码
2010/06/25 Javascript
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
Jquery submit()无法提交问题
2013/04/21 Javascript
JavaScript实现自动消除按钮功能的方法
2015/08/05 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
vue实现评论列表功能
2019/10/25 Javascript
js验证密码强度解析
2020/03/18 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
python 第三方库的安装及pip的使用详解
2017/05/11 Python
Python实现曲线点抽稀算法的示例
2017/10/12 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
解决django前后端分离csrf验证的问题
2019/02/03 Python
python正则-re的用法详解
2019/07/28 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
2020/02/29 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
python SOCKET编程基础入门
2021/02/27 Python
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
建筑节能汇报材料
2014/08/22 职场文书
口才训练演讲稿范文
2014/09/16 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
安全承诺书
2015/01/19 职场文书
经理岗位职责范本
2015/04/15 职场文书
新教师教学工作总结
2015/08/12 职场文书
2019学生会干事辞职信
2019/06/27 职场文书