5.新增循環:
以前for循環,for in循環
ES6新增循環:
for of 循環:遍歷(迭代,循環)整個對象,變現類似於for in 循環
兩者的區別:
for in循環:既可以循環數組,又可以循環json
循環數組:i代表數組的索引
var arr1=['apple','banana','appel','orange'];
for(var i in arr1){
console.log(i); //0,1,2,3
}
循環json:name代表json的索引
var json=[a:'apple',b:'pear',c;'orange'];
for(var name in json){
console.log(name); //a,b,c
console.log(json[name]);
}
for of循環:可以循環數組,不可以循環json,該循環新增主要是為了循環map對象
循環數組:(用的很少)
1)只循環值value:
var arr1=['apple','banana','appel','orange'];
for(var value in arr1){
console.log(value); //'apple','banana','appel','orange'
}
2)只循環索引key:
for(var key of arr1.keys()){
console.log(key); //0,1,2,3
}
3)值和索引都循環:
for(var name of arr1.entries()){
console.log(name); //0 apple,1 banana,2 appel,3 orange
}
循環map對象:
map對象:和json相似,也是一種key-value的形式,但與json對象也不完全相同
map對象是為了和for of循環而生的
創建並設置json對象:
var json={a:'apple',b:'pear',c:'banana',d;'orange'}
獲取json對象的某一項:json.a/json.b/json.c
刪除json對象的某一項:delete json.b
循環json對象:使用for in 循環
for(var i in json){
console.log(json[i]);
}
創建map對象:var map=new Map();
設置map對象的內容:map.set(key,value);
獲取map對象的內容:map.get(name);
刪除map對象的內容:map.delete(name);
循環map對象:不能使用for in 循環
map循環的簡寫:
1)同時循環key和value
for(var name of map){
console.log(name); //這里的name既包含key,也包含value
}
2)只循環key,或者只循環value
for(var [key,value] of map){
console.log(key,value);
console.log(key);
console.log(value);
}
map循環的完整寫法:
1)同時循環key和value,默認的情況是調用了map.entries()
for(var name of map){
console.log(name);
}
等價於:
for(var name of map.entries()){
console.log(name);
}
2)只循環索引key
for(var key of map.keys()){
console.log(key);
}
3)只循環value
for(var value of map.values()){
console.log(value);
}
示例:
var map=new Map();
map.set('a','apple');
map.set('b','pear');
map.set('c','orange');
map.set('d','banana');
alert(map.get('a')); //apple
map.delete('b'); //刪除pear這一項
for(var name of map){
console.log(name); //a apple, c orange, d banana
}
等價於:
for(var [key,value] of map){
console.log(key,value); //a apple, c orange, d banana
}
-----------------------------------------------------------------------------
6.箭頭函數:
ES6一切從簡:新增的是箭頭函數
function show(a){return a;} var show=a=>a;
function show(a,b){return a+b;} var show=(a,b)=>a+b;
function show(){return 'welcome'} var show=()=>'wlecome';
function show(){alert(1);} var show=()=>{alert(1);}
注意在箭頭函數中:
this指向了window,並不是當前的執行對象,
形參arguments,不能使用了
