2017-06-02 66 views
1

我是javascript新手。Javascript,字符串內插函數名稱

我有一個行代碼:

data.content_teaser.image_square_attachment_url 

方可以改變:我有一個稱爲的contentType變量,可以是'square',或'vertical''horizontal'

在紅寶石我可以使用發送與字符串插值,我怎樣才能獲得相同的js?

喜歡的東西"data.content_teaser.image_" + contentType + "_attachment_url"

+0

所以,你能指望什麼? –

+0

我不明白我怎樣才能改變使用var的方法名稱的字符串... –

+0

那麼你在做什麼,需要改變函數名? –

回答

0

JavaScript有2種訪問對象屬性/方法的方法 - 點符號和方括號表示法。後者使用一個字符串,你可以以任何字符串的正常方式建立。所以這2個是相同的:

data.content_teaser.image_square_attachment_url; 
data.content_teaser["image_square_attachment_url"]; 

因此,要回答你的問題:

var contentType = "square"; 
var result = data.content_teaser["image_" + contentType + "_attachment_url"]; 
相關問題