是否有更简单的方法可以使用变量访问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;
}
答案 0 :(得分:3)
这样做:
var element_id = this.data()[element_type + 'id'];
这是点属性访问的替代语法,它允许您指定表示属性名称的字符串。
您的方法无效的原因是this.data().element_type + 'id'
表示首先评估this.data().element_type
和然后添加'id'
它。