Questions tagged «object-literal»


23
对象常量/初始化程序中的自引用
有什么办法可以使以下内容在JavaScript中起作用? var foo = { a: 5, b: 6, c: this.a + this.b // Doesn't work }; 在当前形式下,此代码显然会引发引用错误,因为this未引用foo。但是,是否有任何方法可以使对象文字的属性值取决于先前声明的其他属性?


13
JavaScript属性访问:点符号与方括号?
除了显而易见的事实,第一种形式可以使用变量而不仅仅是字符串文字,是否有理由在另一种形式上使用另一种形式?如果是这样,在哪种情况下? 在代码中: // Given: var foo = {'bar': 'baz'}; // Then var x = foo['bar']; // vs. var x = foo.bar; 上下文:我已经编写了一个代码生成器来生成这些表达式,我想知道哪种更好。

9
如何在循环中创建对象文字数组?
我需要创建这样的对象文字数组: var myColumnDefs = [ {key:"label", sortable:true, resizeable:true}, {key:"notes", sortable:true,resizeable:true},...... 在这样的循环中: for (var i = 0; i < oFullResponse.results.length; i++) { console.log(oFullResponse.results[i].label); } 的值key应results[i].label位于数组的每个元素中。

8
使用jQuery从JavaScript对象添加/删除项目
我有一个JavaScript对象,如下所示: var data = {items: [ {id: "1", name: "Snatch", type: "crime"}, {id: "2", name: "Witches of Eastwick", type: "comedy"}, {id: "3", name: "X-Men", type: "action"}, {id: "4", name: "Ordinary People", type: "drama"}, {id: "5", name: "Billy Elliot", type: "drama"}, {id: "6", name: "Toy Story", type: "children"} ]}; 如果我想在此列表中添加/删除项目,我将如何使用jQuery进行处理?客户希望此列表是可动态修改的。

1
模板字符串作为对象属性名称
为什么JavaScript不允许模板字符串作为对象属性键?例如,当我输入: foo = {`bar`: 'baz'} 进入NodeJS REPL,它会抛出一个 SyntaxError带有长堆栈跟踪的“意外模板字符串”。属性值很好,但是,这并不出乎意料。浏览器中也会发生类似的错误,例如Firebug抛出一个SyntaxError带有“无效属性ID”的错误。 “计算的属性名称”中允许使用模板字符串。例如,这在所有支持以下语法的浏览器中都可以完美编译: var foo = { [`bar` + 1]: `baz` }; 并创建对象 {"bar1": "baz"}。 为什么不允许模板字符串作为文字对象键?是出于性能原因吗?模板字符串必须在运行时进行编译(如果我错了,请纠正我),这意味着每次遇到此对象时,解释器都必须计算对象名称。考虑到“煮熟的”模板字符串之类的因素,这看起来可能会变慢,尽管自ES5以来我们已经有了吸气剂和吸气剂。Firefox并没有将其提及为错误,这就是为什么我发现它出乎意料。将来是否会允许使用该语法?

8
将变量名称值对动态添加到JSON对象
我有一个充满ips的json对象 var ips = {} 然后像这样将ip对象添加到该对象 ips[ipID] = {} 然后,我需要向每个ip添加动态/可变名称值对,因此我正在使用像这样的代码 var name; var value; var temp = {}; tmp[name] = value 我的问题是,如何将这些名称值对/ tmp添加到我的ipID对象中,以便结果显示为 ipID = { name : value, anotherName : anotherValue }
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.