2011-12-23 115 views

回答

0
{foo:"test foo", bar:"test bar"} 

這產生具有兩個屬性,foobar一個新對象。如果你使用的Java或C#或C++之類的語言,就好像說

class FooAndBarObject { 
    public string foo; 
    public string bar; 

    public FooAndBarObject(string foo, string bar) { 
    this.foo = foo; 
    this.bar = bar; 
    } 
} 

new FooAndBarObject("test foo", "test bar"); 

這樣,那麼寫{foo:"test foo", bar:"test bar"}.bar返回bar財產,這恰好是"test bar"的價值。

alert是一個顯示傳遞給它的值的函數,所以它會向用戶顯示test bar

0

在Javascript中,{}符號定義了一個對象,在這種情況下,您只需獲取bar屬性。它與任何面嚮對象語言的類相似;並且類似於以下代碼:

var obj = { 
foo : 'Test Foo', 
bar : 'test bar' 
}; 

alert(obj.bar); //Show the 'bar' property of obj. 

該聲明只是顯式返回自身,因此您顯示的語法是合法的。然而,這是相當無用的,因爲你不能對你剛剛定義的對象做任何事情。

0

你有一個物體

有2個屬性:foo,bar。

富值爲「測試富」

酒吧值爲「測試條」

但告訴我吧的價值。

{FOO: 「測試foo」 的,欄: 「測試棒」}。酒吧

1
  1. {foo:"test foo", bar:"test bar"}創建具有兩個字段的新對象:foobar
  2. alert(obj.bar)輸出的bar字段的值這個新創建的對象
0

在您的示例中,使用對象調用函數alert作爲參數。該參數用兩個屬性即foobar即時構造對象,然後訪問bar屬性,該屬性返回要顯示的alert函數的字符串。

0

你必須的代碼有兩個比特:

{foo:"test foo", bar:"test bar"} 

這是一個對象常量:它定義具有兩個屬性foobar,其每一個有一個字符串作爲它的值的對象。

.bar 

這是成員運算符:從名稱爲bar對象得到一個成員。

我無法想象一個用例的這種編碼方式...

0

JS創建對象並立即顯示在屬性欄:) 可能會有所幫助:http://json.org/

0

語法{foo:"test foo", bar:"test bar"}被稱爲JavaScript對象符號(JSON),它允許構成的javascript對象與再更加簡潔的語法使用:

var obj = function() { this.foo = "test foo"; this.bar = "test bar"; }; 
var instance = new obj(); 

因此,在上面的例子中,要創建一個Java具有兩個字段的腳本對象,然後立即訪問bar字段。

1

javascript中的對象字面值是某種關聯數組。

是對的:

var a = { 
    key1: 'value1', 
    key2: 'value2', 
    "key #3": 'value3' 
    } 

可以包含值的任何類型的數據, 重點應該是一個字符串,如果他們包含特殊字符,空格或保留字。

訪問的a值可以是由點(如在OOP):

a.key1 == 'value1'; 

但如果鍵包含上面描述你可以訪問到的值的特殊字符意味着a等作爲關聯數組;

a["key #3"] == 'value3' 

然而,

a["key1"] ; 

也是正確

每報關/分配在javascript返回對象本身或分別分配,所以:

var a; 
(a={ 
    key1: 'value1', 
    key2: 'value2', 
    "key #3": 'value3', 
    key4: function(){ 
     //`this` refers to `a` variable - if function will be called directly from `a` => a.key4() ; 
     alert(this["key #3");} 
     }).key1 // gets 'value1' 

({ key1:'value1' })['key1'];// gets 'value1' too