求助一个简单的对象方法问题
javascript吧
全部回复
仅看楼主
level 2
qiqishibing 楼主
var a = {
name: "JS",
age: 18,
show: function (b) {
console.log(this.b);
}
};
a.show("age");
本以为会输出18,实际输出undefined,请问大家应该怎么改呢?
2020年07月10日 04点07分 1
level 12
// 你的a对象都没属性b 18的那个是age属性 而访问的是 this.b
var a = {
b: 18,
name: "JS",
age: 18,
show: function (b) {
console.log(this.b);
}
};
a.show("age");
2020年07月10日 04点07分 2
我其实是想把"age"这个字符串作为变量传给a对象的show方法,然后输出a对象里面的age属性。不过现在已经通过楼下的方法解决了,谢谢~
2020年07月10日 07点07分
@qiqishibing 那你就得用 this[b] 来访问 b是变量 值参数是 "age" 这里访问对象属性有两个方式 this.age和this["age"]
2020年07月10日 07点07分
level 11
应该是this[b]不是this.b
2020年07月10日 06点07分 3
正解,谢大神[大拇指]
2020年07月10日 07点07分
@qiqishibing 不过请问为什么是[b]而不是.b呢,应该怎么去理解呢
2020年07月10日 07点07分
@qiqishibing 对象属性访问两种写法而已, 无非用[ ]可以传递变量
2020年07月10日 08点07分
2020年07月10日 08点07分
1