一个js获取对象属性的问题

问题简化描述:
myObjModel.js
varmyObj=newObject();
myObj.personalImg01="images/person01.png";
myObj.personalImg02="images/person02.png";
以上是为了问题复现简单定义的一个Model,现在需求是需要在别的js文件中根据条件来获取myObj的personalImg01或者是personalImg02的值。
//条件判断方法
functiongetImg(condition){
if(condition>1){
return"personalImg01";
}else{
return"personalImg02";
}
}
varimage=getImg(2);
关键时候到了
varpersonalImg=myObj.image;
此时personalImg得到的是undefined;因为getImg方法返回的字符串。但是怎么按这种思路来获取想要的结果呢?想了许久也没有找到解决办法,在这边看看有没有高人给提点一下当然有可能是我这个这个想法根本就是荒谬不可行而不自知,还是需要高人指点。
我采取的解决办法是
//条件判断方法
functiongetImg(condition){
if(condition>1){
returnmyObj.personalImg01;
}else{
returnmyObj.personalImg02;
}
}
varpersonalImg=getImg(2);
这样就直接获取到了。
慕侠2389804
浏览 775回答 2
2回答

喵喵时光机

对象的属相a.b其实是一种简写方式,还有一种方式就是a['b'];你的这个image不是字符串,所以应该是myObj[image]这样,注:[]里如果还是个字符串,是需要''的,一般这种情况就是你的属性名是类似这样的,nike_name,此时a.nike_name,不行,应该是a['nike_name']

胡说叔叔

varpersonalImg=myObj[image];myObj.image是去找myObj对象里面的“image”属性,你对象里面没有,所以Undefind对象的属性还可以通过数组的方式拿到image就是数组的key所以myObj[image]就拿的到了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript