1.for 语句
for语句用来创建一个循环,包含三个可选的表达式。
语法:
for ([init]; [condition]; [final-expression]){
statement;
}复制代码
init
表达式或者变量声明,用于初始化循环中的变量。通常用于初始化一个计算器。
condition
循环条件,如果condition没有写,则表示条件永远为真。
final-expression
每次循环最后都要执行的表达式。通常被用于更新计算器。此表达式会在当前次循环体语句执行完毕后,再执行。
for循环中执行顺序:
例子:三个表达式都是可选的。
var a = 0;
for(;;){
if(a > 5) break;
//console.log(a);
a++;
console.log(a)
}复制代码
2.for..in 语句
遍历对象的可枚举属性。
语法:
for(variable in object){
...
}复制代码
参数:
variable
在每次迭代时,将不同的属性名分配给
变量。
object
被迭代枚举其属性的对象
注:for...in不应该用于去循环遍历一个Array,因为不能保证返回的数据会按照数组的索引顺序。
例子:
var obj = {
name:'golden',
age:20
}
for(var k in obj){
console.log(k,obj[k])
}复制代码
3.for...of 语句
for...of
语句在可迭代对象(包括 Array
,Map
,Set
,String
,TypedArray
,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句
语法:
for (variable of iterable) {
//statements
}复制代码
variable
在每次迭代中,将不同属性的值分配给变量。
iterable
被迭代枚举其属性的对象。
注:不能迭代object。
例子:
// for ... of 迭代数组
var arr = ['golden','lee','li'];
for(var k2 of arr){
console.log(k2)
}
复制代码
// for...of 迭代字符串
var strs = 'hello';
for(var str of strs ){
console.log(str)
}复制代码
// for...of 遍历Set类型的可迭代对象
var mySet = new Set([1,1,2,2,3,3]);
for(var s of mySet){
console.log(s);
}
//1
//2
//3复制代码
4.forEach 函数
对数组中每个元素执行一次回调函数。
Array.prototype.forEach(callback)
callback:
回调接受三个参数
currentVal
数组中正在处理的当前元素
index 可选
数组中正在处理的当前元素索引
array 可选
当前数组
返回值:无
- 初写者,如有错误,希望指正。愿与大家多多交流,,共同进步。