var arr=['val-a','val-b','val-c'];
var obj={
aa:'对象a',
bb:'object_b',
cc:function(){console.log('打印函数值')},
dd:['数组1','数组2']
}
for(var i=0;i<arr.length;i++){
//console.log((i+1)+':'+arr[i])
var html ='';
if(i==1){
html+='<div style="color:red">'+arr[i]+'</div>';
$('#chart').append(html);
}
html +='<li>'+i +'添加数组打印值:' + arr[i]+'</li><p>'+(i+1)+'</P>';
$('#chart').append(html);
}
console.log(obj.dd[1]);
console.log(Object.keys(obj));
console.log(Object.keys(arr));
//js原生for循环遍历数组
for(var i=0;i<arr.length;i++){
console.log((i+1)+':'+arr[i])
}
//for-in遍历对象属性,i指代属性名
for(var i in obj){
console.log(i+':'+obj[i])
}
//forEach遍历数组,三个参数依次是数组元素,索引,数组本身
// obj.forEach(function(value,index,array) {
// console.log(value+'--'+index+'--'+array[index])
// })
//for-in遍历数组
for(var i in arr){
console.log(i+'--'+arr[i])
}
//for-in会遍历到数组的属性
arr.name='test';
for(var i in arr){
console.log(i+'::'+arr[i])
}
//for循环和for-in能正确响应break,,continue,,return语句,但forEach不行
for(var i=0;i<arr.length;i++){
console.log(i+"----"+arr[i]);
if(i==1){
break;
}
}
//不能相应执行if语句中的return,
arr.forEach(function(value,index){
console.log(value+index);
if(i==1){
return 000;
//arr[1]='bbb'
}
})
//ES6中新增了for-of遍历对象,被设计用来遍历各种类数组集合,
//例如DOM NodeList对象、Map和Set对象,甚至字符串也行。官方的说法是
//for...of语句在可迭代对象(包括 Array, Map, Set, String, TypedArray,arguments
//对象等等)上创建一个迭代循环,对每个不同属性的属性值,调用一个自定义的有执行语句的迭代挂钩
// for-of遍历数组,不带索引,i即为数组元素
for(var i of arr){
console.log(i+'用of遍历')
}
// for-of遍历Map对象
let iterable = new Map([["a", 1], ["b", 2], ["c", 3]]);
for (let [key, value] of iterable) {
console.log(value+';'+key+' of遍历map对象');
}
// for-of遍历字符串
let string = "china中国";
console.log(string[5]+string[6]);
for (let value of string) {
console.log(value);
}
/****$.each()遍历对象和数组****/
$.each(arr,function(index,value){
console.log(index+": "+value)
});
$.each(obj,function(key,value){
console.log(key+": "+value)
});
网友评论