节点.js的奇怪对象成员行为
Strange object member behaviour with node.js
>目前我正在尝试使用方括号表示法设置对象的属性。代码如下
var obj = {};
obj['c9c4d17a698ace65c80416112da3ff66e652ec013222f5b458a1dd4950580e77'] = 'one';
obj['8d207abeb95e36abfa2cdae6ac700e776c982ec64bcbfd501cb48fec55a13a77'] = 'two';
如果您随后执行console.log(obj)
或console.dir(obj)
则结果为
{ c9c4d17a698ace65c80416112da3ff66e652ec013222f5b458a1dd4950580e77: 'one',
'8d207abeb95e36abfa2cdae6ac700e776c982ec64bcbfd501cb48fec55a13a77': 'two' }
我想知道的是为什么一个属性键设置为不带引号的文本,而另一个设置为字符串。它们都以相同的方式设置。我是否成为密钥中某些转义序列的受害者?
node --version
在OS X Yosemite 10.10.1上v0.10.33
只要您的对象键以数字开头,在控制台中检查时,它就会显示为引号。
这不会影响任何内部表示形式。 这些键始终是已分配的字符串。 只是当您检查它们时,它们只会在需要时被引用(例如当它们包含保留字符或以数字开头时)。
相关文章:
- 如何将从XML读取的值存储到本地对象's成员使用.get()函数
- Javascript映射对象成员以返回新的扁平对象
- 如何访问对象's成员通过另一种方法填充的方法
- 我需要使用什么语法来向一个对象的成员添加一个临时数组,该成员等同于一个字符串的通用列表
- CakePHP错误:在非对象上调用成员函数get(),使用cakejavascript助手时出错
- JavaScript 对象中的私有成员,带有 getter 和 setter
- 对象'未设置的数据成员值
- 控制台返回[Object-Object]而不是对象成员
- 为什么可以在内部函数成员中访问对象引用,而不能在内部属性成员中访问
- 从JavaScript对象访问数据's数组成员变量
- 对象属性不是在工厂成员函数内部创建的
- 在 JavaScript 中,如何有条件地向对象添加成员
- 如何在 Javascript 中将函数绑定到对象数据成员的更改
- 为什么在访问一个新对象的成员之前将其括在括号中
- console.log表示,当我调用对象的任何成员时,对象都是未定义的
- 如何使用正则表达式查找对象成员名称
- 如何向对象添加函数并引用其成员
- 访问javascript中对象类型的数组成员
- 在对象内部使用 for-in 循环来访问其成员
- 如何使用 Object.create() 而不是 new 创建具有私有成员的对象