在for of/in循环中使用const定义 循环的数据,数组也可以使用 indexOf

您所在的位置:网站首页 const重复声明 在for of/in循环中使用const定义 循环的数据,数组也可以使用 indexOf

在for of/in循环中使用const定义 循环的数据,数组也可以使用 indexOf

#在for of/in循环中使用const定义 循环的数据,数组也可以使用 indexOf| 来源: 网络整理| 查看: 265

首先 先看一个循环的 数组 乍一看哈,这个可以么 还可以用const 来定义 比较有意思哈 再ng中提示我这样写,然后我就拿来研究了一下

for (const s of arr) { console.log(s); }

事实上他确实可以正常工作哈 在这里插入图片描述 因为每一次的迭代都会声明一个全新的key, 所有的赋值都是给一个新的变量赋值,而没有改变原来的值。那使用let 和 const 有什么区别吗? 当然有了,还是在于const 声明的变量不能重新赋值了,所以如果for-in 或for- of 中使用const 声明了变量( 如key), 循环体中,就不能给key 赋新值了,如果使用let ,那就无所谓了,想干什么就干什么,只不过for-in 或for-of 中,我们很少改变key 值,所以他们在实际使用时就没有什么区别了(这个答案比较中肯 https://www.cnblogs.com/SamWeb/p/10659352.html 原博主博客地址) 顺便也看下 es6得块级作用域 for (const elem of someArray) 这里再看一下 es6中的块作用域

正常定义俩个 同样的 常量是会报错的 const a=10; const a=10;// 报错 a 已经定义了 利用块级作用域就可以解决 { const a=10; } { const a=10; } // 还有一点就是 使用 const 和let 定义的数据 并不会在 顶层对象window上 const a=10; console.log(window.a); // undefined

还有一个小知识就是 数组也可以使用 indexOf(element) 方法 如果数组中有这个元素的话 返回数组中 所在的下标位置 没有返回 -1 并且对大小写 敏感哈 区分大小写的

var arr=["hello","world","VUE","vue","angular","react"]; console.log(arr.indexOf("VUE")); // 输出 2


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3