for...in

for...in

function equalObjs(a,b){
    for ( var p in a){
        if(a[p]!==b[p]) return false;
    }
    return true;
}

这里的a和b都是对象,那p是什么啊?a[p]和b[p]又是什么?也没见声明p也没有赋值p,这是怎么使用的?

正在回答

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

2回答

同学你好,关于同学的问题回答如下:
1·、这个的理解是正确的:

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

2、obj[p]就是对象[属性名]:

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

祝学习愉快~

好帮手慕粉 2020-03-14 13:13:04

同学你好,for...in 语句用于对数组或者对象的属性进行循环操作,是for循环的一种。

语法:

for (变量 in 对象/数组)
{
    在此执行代码
}

例如:

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

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

这个p不是固定的,这是代码对象的属性名,也可以使用其他的名字。obj[p]就是获取属性值。

同学再理解下。

祝学习愉快~


  • 提问者 Aurora_Meteor #1
    for (变量 in 对象/数组) 这里的变量是相当于形参,可以随便取的是吗?后面的对象/数组是要传入一个具体的东西,相当于实参?
    2020-03-14 15:16:48
  • 提问者 Aurora_Meteor #2
    然后在您的回复中,obj[p]是获取obj的所有和前面的p(即属性名)相对应的属性值是么?
    2020-03-14 15:20:44
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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