为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕侠2389804 2019-05-25 17:09:31
问题简化描述:myObjModel.jsvarmyObj=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);这样就直接获取到了。
查看完整描述

2 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

对象的属相a.b其实是一种简写方式,还有一种方式就是a['b'];你的这个image不是字符串,所以应该是myObj[image]这样,注:[]里如果还是个字符串,是需要''的,一般这种情况就是你的属性名是类似这样的,nike_name,此时a.nike_name,不行,应该是a['nike_name']
                            
查看完整回答
反对 回复 2019-05-25
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

varpersonalImg=myObj[image];
myObj.image是去找myObj对象里面的“image”属性,你对象里面没有,所以Undefind
对象的属性还可以通过数组的方式拿到image就是数组的key所以myObj[image]就拿的到了
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 774 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信