javascript 变量值为undefined时如何做判断
2015-12-02 12:56
387 查看
/* 总结: 1.使用值为 undefined 的变量作判断时需要【使用typeof】 来做判断 才能保证不报错如下: if (typeof b == 'undifined') 2.如果判断的是一个数组或对象需要 【每一级都使用typeof】来做判断 才能保证不报错 如下: if (typeof c != 'undefined' && typeof c['b'] != 'undefined' && typeof c['b']['a'] != 'undefined') 3.javascript中字符串0的值为true,而非其他语言(如php)中为true */ //正确写法 alert(Boolean('0')); //true alert(Boolean(0)); //false alert(Boolean({})); //true alert(Boolean('')); //false alert(Boolean(null)); //false alert(Boolean(undefined)); //false //正确写法 虽然这样不报错但这样写基本没什么用 if(!undefined){ alert('111'); } //正确写法 if (typeof b == 'undifined') { alert('333'); } //错误写法 会报错 ReferenceError: b is not defined 一个值为 undefined 的变是不能用做判断 alert(Boolean(b)); // if (b == undifined) { alert('333'); } //判断数组----------------------- var a = []; alert(Boolean(a)); //true alert(Boolean([])); //true alert(a[1]);//undefined alert(Boolean(a[1])); //false //正确写法 if (typeof a != 'undefined' && typeof a[1] != 'undefined' && typeof a[1][2] != 'undefined') { alert(22); } else { alert(33); } //错误写法 会报错 TypeError: a[1] is undefined 原因:a虽有定义 但a[1]的值为undefined 所以a[1][2]报错 会影响下面的代码执行 alert(Boolean(a[1][2])); if (typeof a != 'undefined' && typeof a[1][2] != 'undefined') { alert(22); } else { alert(33); } //判断对象----------------------- //正确写法 alert(Boolean(c)); //true alert(typeof c);//object alert(Boolean(c['b'])); //false alert(typeof c['b']);//undefined alert(typeof c.b);//undefined if (typeof c != 'undefined' && typeof c['b'] != 'undefined' && typeof c['b']['a'] != 'undefined') { alert('1'); } else { alert('2'); } //错误写法 会报错 TypeError: c.b is undefined alert(Boolean(c['b']['c'])); //会报错 TypeError: c.b is undefined if (typeof c != 'undefined' && typeof c['b']['a'] != 'undefined') { alert('1'); } else { alert('2'); }
相关文章推荐
- Sublime Text插件使用指南
- [Javascript Data Structures] 优先队列
- js如何创建对象(方法总结)
- javascript 内置日期转换方法
- JS对URL字符串进行编码/解码分析
- JSSIP了解-----JS在通讯中的应用(使用sip协议)---阿冬专栏!!
- JS剖析正方形物体碰撞原理
- Gson解析json字符串、json数组转换成对象
- JavaScript了解---JsSip了解---阿冬专栏!!
- javascript实现自动填写表单实例简析
- JSP学习
- 纯js代码实现简单计算器
- 从HTML Components的衰落看Web Components的危机 HTML Components的一些特性 JavaScript什么叫端到端组件 自己对Polymer的意见
- Js常用方法
- js 等待几秒 每隔几秒 执行
- JS中如何实现sleep(休眠)的功能?
- js数组去重复
- MVC中处理Json和JS中处理Json对象
- 整理Javascript事件响应学习笔记
- js页面跳转整理