Javascript,字符串插值函数名称

时间:2017-06-02 11:48:23

标签: javascript

我是一个javascript新手。

我有一行代码:

data.content_teaser.image_square_attachment_url

square可以更改:我有一个名为contentType的变量,可以是'square',或'vertical''horizontal'

在ruby中我可以使用带字符串插值的send,如何在js中获得相同的内容?

"data.content_teaser.image_" + contentType + "_attachment_url"

这样的东西

2 个答案:

答案 0 :(得分:0)

您可以使用Javascript的字符串插值,因为ES2015在这里查看https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals

`string text ${expression} string text`

所以,你可以使用这样的东西:

let s = `image_${contentType}_attachment_url`

之后:

data.content_teaser[s]

答案 1 :(得分:0)

Javascript有两种访问对象属性/方法的方法 - 点符号和方括号符号。后者使用一个字符串,你可以用任何字符串的正常方式构建。所以这两个是等价的:

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"];