2011-10-05 102 views
1

我創建下列對象:意外的標識對象

var IOBreadcrumb = { 
    breadcrumbs: [] 

    add: function(title, url){ 
     var crumb = {title, url}; 
     this.breadcrumbs.push(crumb); 
    } 
    }; 

我卻得到了意想不到的標識符錯誤。不太確定它來自哪裏,它在這塊代碼中。

+0

[JSLint的(http://www.jslint.com/) 是你的朋友。它會給你你的語法錯誤的行號和列號。 – hurrymaplelad

+0

@hurrymaplelad不需要外部工具。瀏覽器本身會給你錯誤的行號(和其他細節)。 –

回答

3

您的對象成員之間需要逗號,這是您引用錯誤的原因。您還需要在crumb對象中的鍵值對之間放置冒號而不是逗號。

var IOBreadcrumb = { 
    breadcrumbs: [], // <-- comma here 

    add: function(title, url){ 
    var crumb = {title: url}; // <-- colon here 
    this.breadcrumbs.push(crumb); 
    } 
}; 

如果你想去的地方有兩個成員,一個標題和一個網址一個對象,你可能想是這樣的:

var crumb = { 
    title: title, 
    url: url 
}; 

我不知道這是否會一起工作您breadcrumbs設置...

+0

'var crumb'行也正確嗎? –

+0

我想要一個麪包屑有一個標題和一個網址,不知道我可以如何表示,作爲一個JSON,或作爲另一種數據結構? –

+0

它應該是'{'title':title,'url':url}'因爲我想要一個麪包屑的標題和URL? –

2

我相信你想這樣的:

var IOBreadcrumb = { 
    breadcrumbs: [], 
    add: function (title, url) { 
     var crumb = {}; 
     crumb[ title ] = url; 
     this.breadcrumbs.push(crumb); 
    } 
};