使用变量

时间:2017-10-10 16:09:11

标签: javascript object

是否有更简单的方法可以使用变量访问JavaScript中的对象属性?

这里有什么不起作用:

var element_id = this.data().element_type + 'id';

以下是它的工作方式,这似乎令人费解。

var element_id;
if ( element_type == 'assignment' ) {
    element_id = this.data().assignmentid;
} else if ( element_type == 'question' ) {
    element_id = this.data().questionid;
} else {
    element_id = this.data().answerid;
}

1 个答案:

答案 0 :(得分:3)

这样做:

var element_id = this.data()[element_type + 'id'];

这是点属性访问的替代语法,它允许您指定表示属性名称的字符串。

您的方法无效的原因是this.data().element_type + 'id'表示首先评估this.data().element_type然后添加'id'它。