JavaScript中检测变量是否存在

在编写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>
复制代码

 




转载自:http://www.cnblogs.com/rainman/archive/2009/02/10/1387733.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值