let arr =[1,2,3]for(let i =0; i < arr.length; i++){// √ 遍历数组
console.log(arr[i])}let str ='1312'for(let i =0; i < str.length; i++){// √ 遍历字符串
console.log(str[i])}let num =123123for(let i =0; i < num.length; i++){// × 不能遍历数字
console.log(num[i])}let obj ={
a:1,
b:2}for(let i =0; i < obj.length; i++){// × 不能遍历对象
console.log(obj[i])}
for in
//for in 可以遍历数组,字符串和对象//用法:for(let 变量 in 对象){}
// for in 遍历数组和字符串时,变量是下标let arr =[1,2,3,4]for(let key in arr){
console.log(key)// 0 1 2 3
console.log(arr[key])// 1 2 3 4}
//for in 遍历对象时,变量是对象的键var obj ={
a:1,b:2,c:3}for(let key in obj){
console.log(key)// a b c
console.log(obj[key])// 1 2 3}
//for in 有一个问题,他会把原型上的东西也遍历下来。慎用!!
Array.prototype.a=function(){
e =3}var arr =[1,2,3]for(let key in arr){
console.log(arr[key])// 1 2 3 function(){e = 3}}
Object.prototype.aa=function(){
aaa =1}var obj ={
a:1,b:2,c:3}for(let key in obj){
console.log(obj[key])// 1 2 3 function(){aaa = 1}}
for of
//for of 可以遍历数组,字符串 不可以遍历对象// Array,Map,Set,String,TypedArray,arguments 对象等等//用法:for(let 变量 of 对象){}
// for of 遍历出来的变量是每一项的值var arr =[1,2,3]for(let val of arr){
console.log(val)// 1 2 3}let str ='4321'for(let val of str){
console.log(val)// 4 3 2 1}