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 相关文章推荐
url 编码 js url传参中文乱码解决方案
Apr 11 Javascript
jQuery中:hidden选择器用法实例
Dec 30 Javascript
被遗忘的javascript的slice() 方法
Apr 20 Javascript
javascript结合canvas实现图片旋转效果
May 03 Javascript
javascript显示中文日期的方法
Jun 18 Javascript
JS平滑无缝滚动效果的实现代码
May 06 Javascript
微信公众号 客服接口的开发实例详解
Sep 28 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
Feb 09 Javascript
详解微信小程序设置底部导航栏目方法
Jun 29 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
Jul 22 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
Nov 05 Javascript
jQuery实现增删改查
Dec 22 jQuery
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
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
PHP文件锁定写入实例解析
2014/07/14 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
2013/06/26 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
2013/07/08 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
浅析jQuery中使用$所引发的问题
2016/05/29 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
python中函数传参详解
2016/07/03 Python
Python切片操作实例分析
2018/03/16 Python
Python+Selenium使用Page Object实现页面自动化测试
2019/07/14 Python
学生干部学习的自我评价
2014/02/18 职场文书
工会2014法制宣传日活动总结
2014/11/01 职场文书
研究生导师评语
2014/12/31 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
律师函格式范本
2015/05/27 职场文书
雷锋观后感
2015/06/10 职场文书
英语读书笔记
2015/07/02 职场文书
jquery插件实现悬浮的菜单
2021/04/24 jQuery
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
golang 语言中错误处理机制
2021/08/30 Golang