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文件中引用依赖的js文件的方法
Mar 17 Javascript
JS实现文字掉落效果的方法
May 06 Javascript
js显示当前日期时间和星期几
Oct 22 Javascript
Javascript的表单验证-揭开正则表达式的面纱
Mar 18 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
May 25 Javascript
jQuery实现移动端手机商城购物车功能
Sep 24 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
Jan 10 Javascript
JS实现JSON.stringify的实例代码讲解
Feb 07 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
Dec 09 Javascript
微信小程序使用template标签实现五星评分功能
Nov 03 Javascript
JavaScript基础之静态方法和实例方法分析
Dec 26 Javascript
使用next.js开发网址缩短服务的方法
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
PHP提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
php防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
jQuery判断元素是否是隐藏的代码
2011/04/24 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
文字不间断滚动(上下左右)实例代码
2013/04/21 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
jQuery针对各类元素操作基础教程
2014/08/29 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
JavaScript Date对象应用实例分享
2017/10/30 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
python flask框架实现重定向功能示例
2019/07/02 Python
使用TensorFlow直接获取处理MNIST数据方式
2020/02/10 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
2021/02/22 Python
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
常用的HTML5列表标签
2017/06/20 HTML / CSS
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
保密工作实施方案
2014/02/24 职场文书
学校安全防火方案
2014/06/07 职场文书
英语专业自荐书
2014/06/13 职场文书
励志演讲稿600字
2014/08/21 职场文书
如何撰写促销方案?
2019/07/05 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
导游词之扬州大明寺
2019/10/09 职场文书