2010-11-10 160 views

回答

28

大括號表示對象字面量。這是發送鍵/值對數據的一種方式。

所以這個:

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" 
+0

謝謝你,非常有幫助! – milan 2010-11-10 17:49:39

+0

@user - 不客氣。 :o) – user113716 2010-11-10 18:07:53

0
var x = {title: 'the title'}; 

限定其上具有屬性的對象文字。你可以做

x.title 

這將評估'的標題;

這是一種將配置傳遞給方法的常用技巧,這就是發生在這裏的原因。

2

javascript中的大括號用作創建對象的簡寫形式。例如:

// Create an object with a key "name" initialized to the value "testing" 
var test = { name : "testing" }; 
alert(test.name); // alerts "testing" 

退房道格拉斯Crockford的JavaScript Survey瞭解更多詳情。

61

一個第二個可能的答案已經出現,因爲這問題有人問。 Javascript ES6介紹Destructuring Assignment

var x = function({ foo }) { 
    console.log(foo) 
} 

var y = { 
    bar: "hello", 
    foo: "Good bye" 
} 

x(y) 


Result: "Good bye" 
+9

非常感謝。這正是我正在尋找的答案。 [更多信息](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) – FuzzY 2015-12-11 07:30:40