2015-12-15 48 views
-4

根據我這是唯一的存在,如果你需要調用構造函數像下面使用此關鍵字的對象字面的JavaScript

var dogObj = function(){ 
    this.bark = "woof"; 
} 

var dog1 = new dogObj(); 
console.log(dog1.bark); 

是否有一個地方我用這對對象字面任何情況下使用?

var bark = { 
    this.bark = "dog" 
} 

以上代碼是否有效?如果是,我怎麼稱呼它?

+2

*「以上代碼有效嗎?」*運行它!瞭解對象:http://eloquentjavascript.net/04_data.html。 –

+0

我相信你正在尋找'var o = {msg:'hello world',fn:function(){alert(this.msg)}}; o.fn();' – Ultimater

+0

@Ultimater也許?但爲什麼使用這種方法比較構造?我是asp.net編碼器。 –

回答

2

可以使用

var bark = { 
    bark : "dog" 
} 

,並調用它像

console.log(bark.bark) 
+0

所以在JavaScript中使用constructer有什麼意義? –

+0

要獲得類行爲 – ozil

+1

@JenniferAniston:如名稱所示,如果需要*構造*具有相同結構的多個對象,這將非常有用。 –

0
this.bark = "woof"; 

無效。

你必須嘗試像下面

var dog = { 
    bark : "dog" 
} 

,然後一旦你形成任何json字符串,則可以使用http://jsonlint.com/只需將您的json字符串驗證刺痛,點擊就可以訪問諸如console.log(dog.bark)

驗證。