2016-04-26 59 views
0

我已经定义了一个对象,其名称中包含连字符。用连字符引用对象的属性名称

var data = { 
    "foo-bar": "value", 
    "this-that": "another value" 
} 

现在我需要在JS中引用此属性,但这两种方式都会导致语法错误。

console.log(data.foo-bar) 

console.log(data."foo-bar") 

所以我的问题是。我如何访问JS中名称中包含连字符的属性?


免责声明:服务器端功能需要的属性的连字符命名,我不觉得自己真的要改写别人的整个脚本,需要输入PARAMS这样。是的,我知道目前这种方式并不是最干净的方法。

+1

'data [“foo-bar”]' – gurvinder372

+0

[MDN介绍:使用对象](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects),以及它的分拆[Property accessors](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors)。 – Oka

回答

1

您可以使用data["foo-bar"]取而代之。

相关问题