抽象轻松JavaScript

循环的分支进化,针对于引用类型的迭代进化!(数组,对象)

for...in

for...of

这两个for循环的迭代是针对引用类型,先看中文、

for...in 重点在in还是for,这个for...in是for循环的迭代升级,升级了什么?

升级了什么换种说法,多了什么!就像苹果多了s代表升级,c多了++代表升级一样

多了in,in的中文翻译,在...里面

配合上循环,循环元素在...里面,同理for...of,循环内容属于什么

for...in 循环元素在...里面
for...of 循环元素属于什么

毕竟我们不是理论为主的文章,而是实践,不会探讨他们伦理上的内容!

语法

for...in
for (变量 in 引用类型名) {
    //内容
}
for...of
for (变量 of 迭代引用类型名) {
    //内容
}

从翻译到语法,感觉差不多!

疑问点一,for循环不是有条件和限制条件吗?

答案,for循环的迭代升级中的条件和限制条件为引用类型的数量,例如数组有5个下标,对象有5个值,这个5就是它们的条件和限制条件

疑问点二,for循环中的跳出语句,break与continue,还能在这两个中使用吗

答案:可以

那么他们的具体区别在哪里,看例子!

    var obj = {name : "天青色",name1 : "等烟雨",name2 : "而我在等你"};
    for(let i in obj)
    {
        console.log(`${i}`);
    }

抽象轻松JavaScript_第1张图片

in,是键值中的键,也就是属性名,下标

迭代引用类型!就是可以按着一定顺序输出的内容,数组就是最常见的一个,那么单纯的对象是吗?

    var obj = {name : "天青色",name1 : "等烟雨",name2 : "而我在等你"};
    var obj1 = ["天青色","等烟雨","而我在等你"];
    for(let i of obj1)
    {
        console.log(`${i}`);
    }
    for(let i of obj)
    {
        console.log(`${i}`);
    }

抽象轻松JavaScript_第2张图片

很显然,不能!而且of输出的键值中的值

小结: 

in是全部应用类型,of是迭代引用类型

前者为键,后者为值

本质还是循环!只是返回的值,与对应的作用域不一样

一句话,概括这篇文章,循环的不同作用域

你可能感兴趣的:(抽象js,javascript,前端,开发语言)