复制数组:
循环赋值:
var arr=[1,2,3];
var arr2=[];
for (var i = 0; i < arr.length; i++) {
arr2[i]=arr[i]
}
arr2.pop(); // pop()方法用于删除并返回数组的最后一个元素。
console.log(arr,arr2);
Array.from(arr)
var arr=[1,2,3];
var arr2=Array.from(arr);
console.log(arr2);
...(三点运算符)
var arr=[1,2,3];
var arr2=[...arr];
console.log(arr2);
循环:
for of 循环(主要循环map对象)
var arr=['apple','banner','orange','pear'];
for(var i of arr){
console.log(i);
}
Map对象:
map对象和json相似,也是一种键值对的形式。Map的对象为了和for of 循环配合而生的
var map = new Map(); //新建Map对象
map.set(name,value); //设置键值对
//exmple
map.set('a','apple');
map.set('b','banana');
map.get(name); //获取
//exmple
map.get('a'); //输出 'a'=>"apple"
map.delete(name); //删除
//exmple
map.delete('a') //删除a值
map对象配合for of 循环使用:
var map = new Map(); //新建一个map对象并赋值
map.set('a','apple');
map.set('b','banana');
map.set('c','orange');
map.set('d','pipapple');
for(let name of map){
console.log(name);
}
/*
循环结果:
a apple
b banana
c orange
d pipapple
*/
//键值对循环
for(let [key,value] of map){
console.log(key,value);
}
// entries() 返回所有成员的遍历器(默认)
for(let name of map.entries()){
console.log(name);
}
//keys() 返回键名的遍历器
for (let key of map.keys()) {
console.log("key: %s", key);
}
//values() 返回键值的遍历器
for (let value of map.values()) {
console.log("value: %s", value);
}
箭头函数:
([param] [, param]) => {
statements
}
param => expression
param 是参数,根据参数个数不同,分这几种情况:
() => { … } // 零个参数用 () 表示;
x => { … } // 一个参数可以省略 ();
(x, y) => { … } // 多参数不能省略 ();
var show=a=>a; function show(a){return a};
var show=(a,b)=>a+b; function show(a,b){return a+b};
var show=()=>'welcome'; function show(){return 'welcome'}
var show=() => { function show(){
alert(1); alert(1);
} }
注意:
1:this指向了window对象;
2:arguments 不能使用了;
面向对象:
类 class
构造函数 constructor 生成完实例以后,自己就执行的
class Person{ //类
constructor(name,age){
this.name=name;
this.age=age;
}
showName(){
return this.name;
}
showAge(){
return this.age;
}
}
class Person{
constructor(name='nothing',age=0){ //初始化值
this.name=name;
this.age=age;
}
showName(){
return this.name;
}
showAge(){
return this.age;
}
}
class Worker extends Person{
constructor(){
super() //调用父级构造
}
}
var w1=new Worker('mmm',56) ;
alert(w1.showName());