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下判断一个元素是否存在的代码
Mar 05 Javascript
修改file按钮的默认样式实现代码
Apr 23 Javascript
node.js中的path.resolve方法使用说明
Dec 08 Javascript
jQuery+PHP实现动态数字展示特效
Mar 14 Javascript
整理Javascript基础入门学习笔记
Nov 29 Javascript
JavaScript事件处理的方式(三种)
Apr 26 Javascript
微信小程序 闭包写法详细介绍
Dec 14 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
Jan 23 Javascript
vue 之 .sync 修饰符示例详解
Apr 21 Javascript
详解express + mock让前后台并行开发
Jun 06 Javascript
原生javascript如何实现共享onload事件
Jul 03 Javascript
基于react项目打包css引用路径错误解决方案
Oct 28 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 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
jquery获得下拉框值的代码
2011/08/13 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
js动态生成Html元素实现Post操作(createElement)
2015/09/14 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
jquery版轮播图效果和extend扩展
2017/07/18 jQuery
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
详解vue 项目白屏解决方案
2018/10/31 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
2019/06/27 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
用Python创建声明性迷你语言的教程
2015/04/13 Python
python通过索引遍历列表的方法
2015/05/04 Python
python遍历目录的方法小结
2016/04/28 Python
Python中Django 后台自定义表单控件
2017/03/28 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
python基于property()函数定义属性
2020/01/22 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
浅谈Python __init__.py的作用
2020/10/28 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
军训鉴定表自我鉴定
2014/02/13 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
幼儿园小朋友毕业感言
2015/07/30 职场文书
上级领导检查欢迎词
2015/09/30 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书
Window server中安装Redis的超详细教程
2021/11/17 Redis