老师,这里的key这样写,也算是合法的标识符,为什么不能用operation.key,有点不明白哩;

老师,这里的key这样写,也算是合法的标识符,为什么不能用operation.key,有点不明白哩;

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
樱桃小胖子 2018-12-12 18:45:31

http://img1.sycdn.imooc.com//climg/5c10e6b50001b13e10840495.jpg

希望可以帮到你!

樱桃小胖子 2018-12-10 12:02:40

对象访问属性有两种方式。有一个对象Obj = {"Name":"Langshen","AGE":"28"}

用点访问:Obj.Name ;

用中括号访问:Obj["Name"];

上述两种方式得到的结果都是属性Name的值Langshen;访问的方式可以获得同样的效果,是因为对象的属性是已经存在的,以上两种方式为对象新建属性时用法的区别:

代码operation[key] 表示的是operation对象的一个属性值。那能不能用operation.key表示呢?答案是否定的

原因是: 

用operation[key] 时,key(var key = "add")这个变量是变化的。 

当num1=1和num2=2变化时,operation[key]的值变为3

当num1=2和num2=3变化时,operation[key]的值变为5

若将operation[key]替换为operation.key最后得到的operation[key](1,2)没有一个key属性,无法实现我们的要求

希望可以帮到你!


  • 提问者 慕尼黑4757019 #1
    可是这里不是已经赋值add这个字符串给变量key了吗?我打印了key的值,并不是指operation对象中的那个add函数哩。之前讲过要打印出add的值,需要写成operation.add,由此可见key获取的只是一个字符串add哩,请老师再帮忙深度解析一下这里。多谢
    2018-12-12 14:54:31
  • 提问者 慕尼黑4757019 #2
    如果此刻变量=字符串add,那么这个add就不是函数,那调用不就没有意义了?
    2018-12-12 14:56:12
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师