javascript对象属性命名“”增添的特殊情况

本文探讨了JavaScript中对象属性使用引号的情况及其重要性,特别是在非标准属性名的情况下。通过实例说明如何正确访问这些属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常情况下在JavaScript中,对象属性命加引号与不加引号都是一样用,都是有效的。
1、
如:
[javascript]

    var obj = {  
        name    : '二次猿',  
        'age'   : 18,  
    };  
    document.write( 'name : ' + obj['name'] + '<br />' );  
    document.write( 'age : ' + obj.age + '<br />' );  

执行:
name : 二次猿
age : 18

2、
哪在什么时候有区别呢?在你使用一些非合法命名规则的时候,就显的有必要了
比如:
[javascript]

    var obj = {  
        888name : '二次猿'  
    };    
    document.write( '888name : ' + obj.888name + '<br />' );  

这时候会报错误,但你给加上引号,就没事了

3、
如果加上引号,使用 “.属性名”: 方式读取属性时仍然会出错:
[javascript]

 var obj = {  
        '888name' : '二次猿'  
    };   
    document.write( '888name : ' + obj.888name + '<br />' );  

执行,发现报错:

如果加上引号,使用 “[‘属性名’]”: 方式读取属性时不会出错:
[javascript] view plain copy

    var obj = {  
        '888name': '二次猿'  
    };  
    document.write('888name : ' + obj['888name'] +'<br />' );  

执行:
888name : 二次猿

4、
甚至还可以更特殊一点,如:
[javascript]

    var obj = {  
        '': '这个属性名是空的',  
        ' ': '这个属性名是一个空格'  
    };  
    document.write(  obj[''] +'<br />' );  
    document.write(  obj[' '] +'<br />' );  

执行:
这个属性名是空的
这个属性名是一个空格

我们引用对象成员的时候,由于属性名不是合法命名规则,因此也需要使用中括号的方式来访问,也建议大家以后采取中括号的方式读取对象属性值,以免有意外错误

虽然实际我们写程序一般都遵守程序公约,不会去制造一些另类,但特殊性情况下,这些能力也可以弥补一些变态需求。

转自‘琼台博客’;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值