JavaScript中检测变量是否存在遇到的一些问题


Posted in Javascript onNovember 11, 2013

在编写JavaScript程序时往往需要检测某一变量是否存在,这是一件非常简单的工作,但如果不细心也会遇到一些问题。主要有一些几点:

1、普通变量

<script type="text/javascript"> 
if(variable){ 
alert('rain man'); 
} 
</script>

这时会出现‘variable is not defined'的错误,如果改成下面就会弹出预期的对话框:
<script type="text/javascript"> 
if( typeof variable == 'undefined' ){ 
alert('rain man'); 
} 
</script>

2、对象的属性
<script type="text/javascript"> 
var two = {}; 
if(two.b){ 
alert('rain man'); 
} 
if( window.addEventListener ){ 
alert('This is not IE!'); 
} 
</script>

对于检测对象的属性则不必使用 typeof 。

3、在给对象添加属性时,也会遇到类似的问题

<script type="text/javascript"> 
var obj = {}; 
obj.property.number = 2; //这时会出现 'obj.property is undefined' 的错误 /** 
* 下面这种情况虽然没有出现语法错误,但实际上已经出现了错误. 
* 属性是复合型变量所特有的,而obj.property是数值型变量,不能含有属性. 
*/ 
var obj = {}; 
obj.property = 2 ; 
obj.property.number = 3; 
</script>
Javascript 相关文章推荐
JavaScript浏览器选项卡效果
Aug 25 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
Dec 07 Javascript
js 三级关联菜单效果实例
Aug 13 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
Dec 30 Javascript
Bootstrap select下拉联动(jQuery cxselect)
Jan 04 Javascript
Angular2库初探
Mar 01 Javascript
javascript实现数据双向绑定的三种方式小结
Mar 09 Javascript
微信小程序之数据双向绑定与数据操作
May 12 Javascript
Vue.js学习教程之列表渲染详解
May 17 Javascript
微信小程序实现底部导航
Nov 05 Javascript
深入了解JavaScript 私有化
May 30 Javascript
基于JavaScript伪随机正态分布代码实例
Nov 07 Javascript
javascript自定义startWith()和endWith()的两种方法
Nov 11 #Javascript
javascript打印输出json实例
Nov 11 #Javascript
JS简单的图片放大缩小的两种方法
Nov 11 #Javascript
js全屏显示显示代码的三种方法
Nov 11 #Javascript
JavaScript获取多个数组的交集简单实例
Nov 11 #Javascript
JavaScript splice()方法详解
Sep 22 #Javascript
javascript与cookie 的问题详解
Nov 11 #Javascript
You might like
PHP setcookie() cannot modify header information 的解决方法
2009/01/09 PHP
php 空格,换行,跳格使用说明
2009/12/18 PHP
php防止sql注入代码实例
2013/12/18 PHP
php判断两个浮点数是否相等的方法
2015/03/14 PHP
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
PHP读取word文档的方法分析【基于COM组件】
2017/08/01 PHP
Extjs学习笔记之二 初识Extjs之Form
2010/01/07 Javascript
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
JavaScript函数详解
2015/02/27 Javascript
JavaScript实现图片轮播的方法
2015/07/31 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
js实现悬浮窗效果(支持拖动)
2017/03/09 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
2019/05/07 Javascript
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
Python读写Redis数据库操作示例
2014/03/18 Python
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
Python转换时间的图文方法
2019/07/01 Python
捷克时尚网上商店:OTTO
2018/03/15 全球购物
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
Linux常见面试题
2016/10/04 面试题
同学聚会主持词
2014/03/18 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
小学生运动会报道稿
2014/09/12 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
Django对接elasticsearch实现全文检索的示例代码
2021/08/02 Python