这句话怎么理解

这句话怎么理解

var obj = {

add : function(num1,num2){

return num1+num2;

}

}

var key = "add";

console.log(obj[key](1,2));

console.log(key);

add不是字符串吗,为什么又变成对象属性了呢?

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

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

2回答
好帮手慕星星 2019-04-01 10:09:24

你好,因为key值add正好和obj对象属性名add一致:

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

可以理解成:

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

通过add属性调用方法,所以可以计算1+2的值。

自己可以再测试理解下,祝学习愉快!

  • hyperse #1
    老师,可不可以理解成var key ="add"这句把key指向了跟add一样的堆内存地址function呀,还是说这句话是一个赋值,key就相当于add了?
    2019-05-16 22:56:38
  • 你好,var key ="add"这个代码只是简单的赋值,key的值是‘add’字符串,在调用对象属性的时候正好一致。
    2019-05-17 09:42:23
提问者 qq_强强_6 2019-03-31 16:15:42

add不是字符串吗,为什么key又变成对象属性了呢?

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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