本文主要是介绍javascript对象属性命名“”增添的特殊情况,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
通常情况下在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 />' );
执行:
这个属性名是空的
这个属性名是一个空格
我们引用对象成员的时候,由于属性名不是合法命名规则,因此也需要使用中括号的方式来访问,也建议大家以后采取中括号的方式读取对象属性值,以免有意外错误
虽然实际我们写程序一般都遵守程序公约,不会去制造一些另类,但特殊性情况下,这些能力也可以弥补一些变态需求。
转自‘琼台博客’;
这篇关于javascript对象属性命名“”增添的特殊情况的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!