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 相关文章推荐
JS效率个人经验谈(8-15更新),加入range技巧
Jan 09 Javascript
在IE模态窗口中自由查看HTML源码的方法
Mar 08 Javascript
父子窗体间传递JSON格式的数据的代码
Dec 25 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
Aug 16 Javascript
AngularJS入门教程之路由与多视图详解
Aug 19 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
Oct 15 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
Apr 13 Javascript
vue axios 二次封装的示例代码
Dec 08 Javascript
微信小程序中使用ECharts 异步加载数据的方法
Jun 27 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 jQuery
JavaScript Dom 绑定事件操作实例详解
Oct 02 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
Jun 17 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
header导出Excel应用示例
2014/01/24 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
PHP的PDO预定义常量讲解
2019/01/24 PHP
php判断数组是否为空的实例方法
2020/05/10 PHP
常用的JS验证和函数汇总
2014/12/23 Javascript
js在指定位置增加节点函数insertBefore()用法实例
2015/01/12 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
JavaScript实现切换多张图片
2021/01/27 Javascript
Python爬虫框架Scrapy安装使用步骤
2014/04/01 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
Python当中的array数组对象实例详解
2019/06/12 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
德尔福集团DELPHI的笔试题
2012/02/22 面试题
幼师自荐信范文
2013/10/06 职场文书
先进个人获奖感言
2014/01/24 职场文书
校运会广播稿100字
2014/01/27 职场文书
校园安全标语
2014/06/07 职场文书
转让协议书
2015/01/27 职场文书
环卫处个人工作总结
2015/03/04 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript