老师,为什么数组c里变量a的值是6而不是obj里的5
登陆购买课程后可参与讨论,去登陆吧
@SuperVivian 同学你好,这样是不可以的。具体原因如下:
1、数组中的this指向的是window,可以输出一下:
因为只有函数才会形成一个局部作用域,这里的数组c是全局下的,所以this指向window:
所以这里使用this获取的a是全局属性a,全局变量相当于全局属性,所以获取的依旧是全局变量a
如下:
2、如果想要获取对象中的a,那么直接通过对象名.属性名的格式获取。示例:
3、因为教学服务到期之后,其他人的问答是无法查看的,只能查看自己的提问。如果同学有疑惑,建议自己创建问题,便于同学日后的复习。
祝学习愉快~
明白啦!谢谢老师的耐心解答~之后我会自己创建问题
同学你好,因为obj中的a是一个属性,属性是没有办法直接通过属性名拿到的,需要通过“对象.属性名”才可以拿到,单独写一个a就表示变量,拿到就是变量值6。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
请问如果希望输出obj里的a,是这样写吗?
var obj = {
a:5,
b:2,
c:[1,this.a,
function( ){ document.write(this[1]); }
}
老师在上面回复了哦
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
前端技术快速更迭,人才紧缺。带你从0基础开始,成为Web全栈工程师,转行就业更顺畅。
92 2
44 2
74 4
30 1
32 1
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星