a的值为啥是6啊不应该是2吗

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

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

2回答
好帮手慕久久 2021-12-04 16:19:01

同学你好,解答如下:

1、首先要知道,this指向的数组c(建议再看一遍“慕慕子”老师的描述),即this就是数组c,this如下:

https://img1.sycdn.imooc.com//climg/61ab2388093cd32c07040088.jpg

2、对于数组而言,可以通过索引获取元素。“数组[1]”,就是获取数组中索引是1的元素;对于this,它里面索引是1的元素是“变量a”

https://img1.sycdn.imooc.com//climg/61ab23c20911ed8f08530137.jpg

之所以说a是变量,是因为a没有使用引号(单引号、双引号)包裹(暂时当成固定的内容,记住):

https://img1.sycdn.imooc.com//climg/61ab2404097909d007470085.jpg

由于变量a的值是6:

https://img1.sycdn.imooc.com//climg/61ab242a0920abd705180284.jpg

所以会打印6。

祝学习愉快!

好帮手慕慕子 2021-11-30 14:54:11

同学你好,可以参考如下解析:

1、先了解一个概念:数组中的元素如果是函数,那么通过数组下标的方式调用函数,这个函数中执行上下文,就是这个数组。

2、然后再来分析截图中的代码,如下:

(1)obj的属性c是一个数组,我们后面叫它数组c。

https://img1.sycdn.imooc.com//climg/61a5ca13092094d804730330.jpg

(2)数组c中下标为2的元素是一个函数,如下:

https://img1.sycdn.imooc.com//climg/61a5ca3d0921dbaf03780251.jpg

所以obj.c[2]()就是取到数组下标为2的元素并调用,这个函数的this指向的就是数组c。

(3)this[1]拿到的就是数组c下标为1的元素a,a没有加引号,表示是一个变量,变量a的值为6,所以结果输出6

https://img1.sycdn.imooc.com//climg/61a5ca8909399dc404180276.jpg

祝学习愉快~

  • 提问者 球球不一般 #1

    (3)this[1]拿到的就是数组c下标为1的元素a,a没有加引号,表示是一个变量,变量a的值为6,所以结果输出6这句话不是很明白

    搜索

    复制

    2021-12-04 14:20:14
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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