函数的JavaScript参数的花括号有什么作用?
var port = chrome.extension.connect({name: "testing"});
port.postMessage({found: (count != undefined)});
答案 0 :(得分:94)
自提出此问题以来,出现了第二个可能的答案。 Javascript ES6 介绍了Destructuring Assignment。
var x = function({ foo }) {
console.log(foo)
}
var y = {
bar: "hello",
foo: "Good bye"
}
x(y)
Result: "Good bye"
答案 1 :(得分:34)
花括号表示对象文字。这是一种发送键/值数据对的方法。
所以这个:
var obj = {name: "testing"};
像这样使用来访问数据。
obj.name; // gives you "testing"
只要键是唯一的,您就可以为对象提供几个以逗号分隔的键/值对。
var obj = {name: "testing",
another: "some other value",
"a-key": "needed quotes because of the hyphen"
};
您还可以使用方括号来访问对象的属性。
在"a-key"
。
obj["a-key"] // gives you "needed quotes because of the hyphen"
使用方括号,您可以使用存储在变量中的属性名称来访问值。
var some_variable = "name";
obj[ some_variable ] // gives you "testing"
答案 2 :(得分:2)
javascript中的大括号用作创建对象的简写。例如:
// Create an object with a key "name" initialized to the value "testing"
var test = { name : "testing" };
alert(test.name); // alerts "testing"
查看Douglas Crockford的JavaScript Survey了解更多细节。
答案 3 :(得分:0)
var x = {title: 'the title'};
定义一个具有属性的对象文字。你可以做到
x.title
将评估为'标题;
这是将配置传递给方法的常用技术,这就是这里发生的事情。