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 相关文章推荐
索趣科技的答案
Feb 07 Javascript
web页面数据展示新想法(json)
Jun 08 Javascript
IE6,IE7,IE8下使用Javascript记录光标选中范围(已补全)
Aug 28 Javascript
Javascript 函数parseInt()转换时出现bug问题
May 20 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
Dec 02 Javascript
js+jquery常用知识点汇总
Mar 03 Javascript
学习Angularjs分页指令
Jul 01 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
Dec 26 Javascript
微信端开发--登录小程序步骤
Jan 11 Javascript
详解JavaScript中this的指向问题
Jan 20 Javascript
解决vue-cli + webpack 新建项目出错的问题
Mar 20 Javascript
vue2.0 如何在hash模式下实现微信分享
Jan 22 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 配置文件中open_basedir选项作用
2009/07/19 PHP
PHP教程 变量定义
2009/10/23 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
实例讲解JS中数组Array的操作方法
2014/05/09 Javascript
jQuery链使用指南
2015/01/20 Javascript
JavaScript获取表单内所有元素值的方法
2015/04/02 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
Vue入门之数据绑定(小结)
2018/01/08 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
基于Vue 服务端Cookies删除的问题
2018/09/21 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
JavaScript惰性载入函数实例分析
2019/03/27 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
Python生成随机密码的方法
2017/06/16 Python
Django的HttpRequest和HttpResponse对象详解
2018/01/26 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
python中有帮助函数吗
2020/06/19 Python
Python中常用的os操作汇总
2020/11/05 Python
收集的22款给力的HTML5和CSS3帮助工具
2012/09/14 HTML / CSS
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
自荐信要包含哪些内容
2013/11/06 职场文书
大学校庆策划书
2014/01/31 职场文书
社区平安建设汇报材料
2014/08/14 职场文书
2014年超市工作总结
2014/11/19 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
慈善献爱心倡议书
2015/04/27 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书