标签: object-literal

如何将键/值对添加到JavaScript对象?

这是我的对象文字:

var obj = {key1: value1, key2: value2};
Run Code Online (Sandbox Code Playgroud)

如何添加{key3: value3}到对象?

javascript object-literal

1270
推荐指数
21
解决办法
202万
查看次数

对象文字/初始化器中的自引用

有没有办法在JavaScript中使用以下内容?

var foo = {
    a: 5,
    b: 6,
    c: this.a + this.b  // Doesn't work
};
Run Code Online (Sandbox Code Playgroud)

在当前形式中,此代码显然会抛出引用错误,因为this没有引用foo.但是,有什么办法对早些时候宣布的其他属性在对象文本的属性值依赖?

javascript object-literal

660
推荐指数
14
解决办法
12万
查看次数

如何在JavaScript对象文字中使用变量作为键?

为什么以下工作?

<something>.stop().animate(
    { 'top' : 10 }, 10
);
Run Code Online (Sandbox Code Playgroud)

虽然这不起作用:

var thetop = 'top';
<something>.stop().animate(
    { thetop : 10 }, 10
);
Run Code Online (Sandbox Code Playgroud)

为了使它更清晰:目前我无法将CSS属性作为变量传递给animate函数.

javascript variables jquery properties object-literal

345
推荐指数
7
解决办法
13万
查看次数

如何在循环中创建对象文字数组?

我需要创建一个对象文字数组,如下所示:

var myColumnDefs = [
    {key:"label", sortable:true, resizeable:true},
    {key:"notes", sortable:true,resizeable:true},......
Run Code Online (Sandbox Code Playgroud)

在这样的循环中:

for (var i = 0; i < oFullResponse.results.length; i++) {
    console.log(oFullResponse.results[i].label);
}
Run Code Online (Sandbox Code Playgroud)

值的值key应该results[i].label在数组的每个元素中.

javascript arrays object-literal

216
推荐指数
5
解决办法
55万
查看次数

使用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"}
]};
Run Code Online (Sandbox Code Playgroud)

如果我想在此列表中添加/删除项目,我将如何使用jQuery进行操作?客户端希望此列表可动态修改.

javascript jquery object-literal

82
推荐指数
5
解决办法
44万
查看次数

Javascript中对象文字的动态键

好吧,我正在努力开发Nodes中的一个项目,我遇到了一个关于对象文字中的键的小问题,我有以下设置:

var required = {
    directories : {
        this.applicationPath                    : "Application " + this.application + " does not exists",
        this.applicationPath + "/configs"       : "Application config folder does not exists",
        this.applicationPath + "/controllers"   : "Application controllers folder does not exists",
        this.applicationPath + "/public"        : "Application public folder does not exists",
        this.applicationPath + "/views"         : "Application views folder does not exists"
    },
    files : {
        this.applicationPath + "/init.js"               : "Application init.js file does not exists",
        this.applicationPath + "/controllers/index.js"  : "Application index.js controller …
Run Code Online (Sandbox Code Playgroud)

javascript object-literal

80
推荐指数
4
解决办法
3万
查看次数

使用属性名称的变量创建对象

是否可以在对象文字属性中使用变量名来创建对象?

function createJSON (propertyName){
    return { propertyName : "Value"};
}

var myObject = createJSON("myProperty");

console.log(myObject.propertyName);  // Prints "value"
console.log(myObject.myProperty);  // This property does not exist
Run Code Online (Sandbox Code Playgroud)

javascript properties object-literal

78
推荐指数
4
解决办法
8万
查看次数

动态地将变量名称值对添加到JSON对象

我有一个充满ips的json对象

var ips = {}
Run Code Online (Sandbox Code Playgroud)

然后我像这样添加ip对象到这个对象

ips[ipID] = {}
Run Code Online (Sandbox Code Playgroud)

然后我需要为每个ip添加动态/变量名称值对,所以我使用这样的代码

var name; var value; var temp = {};
tmp[name] = value
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何将这些名称值对/ tmp添加到我的ipID对象中,以便我的结果如下

ipID = { name : value, anotherName : anotherValue }
Run Code Online (Sandbox Code Playgroud)

javascript object object-literal

60
推荐指数
4
解决办法
24万
查看次数

模板字符串作为对象属性名称

为什么JavaScript不允许模板字符串作为对象属性键?例如,当我输入:

foo = {`bar`: 'baz'}
Run Code Online (Sandbox Code Playgroud)

在NodeJS REPL中,它会抛出一个SyntaxError带有长堆栈跟踪的"Unexpected模板字符串".但是,属性值很好,这并不是意料之外的.在浏览器中发生类似的错误,例如,Firebug会抛出SyntaxError"无效的属性ID".

"计算属性名称"中允许使用模板字符串.例如,这在所有支持语法的浏览器中编译得非常好:

var foo = {
    [`bar` + 1]: `baz`
};
Run Code Online (Sandbox Code Playgroud)

并创建对象{"bar1": "baz"}.

为什么不允许模板字符串作为文字对象键?是出于性能原因吗?必须在运行时编译模板字符串(如果我错了,请纠正我),这意味着每次遇到此对象时,解释器都必须计算对象名称.考虑到"煮熟的"模板字符串之类的东西,这似乎可能会变慢,尽管我们从ES5开始就有吸气剂和固定器.Firefox没有提到这是一个错误,这就是我发现它意外的原因.将来某个时候会允许语法吗?

javascript object-literal node.js template-strings template-literals

59
推荐指数
3
解决办法
2万
查看次数

用于标记匿名函数的Javascript"冒号"?

这段代码也引用了什么?

queryString: function() {

//some code

}
Run Code Online (Sandbox Code Playgroud)

我在WebConsole(Firefox)中对它进行了测试,但它不会执行,因此我认为它不等同于function queryString() {}.

那究竟是什么?

javascript function anonymous-function object-literal colon

58
推荐指数
4
解决办法
3万
查看次数