es6知识点

作用域提升问题。

const arr=[]
for(var i=0; i<=2; i++){
    arr[i]=function(){
        return i*2;
    }
}

console.log(arr[0]())
console.log(arr[1]())
console.log(arr[2]())
es6知识点_第1张图片
image.png

let evens=[1,2,3,4,5,6];
let odds=evens.map(v=>v+1);
console.log(evens,odds)

es6知识点_第2张图片
image.png

this 的对象,指向问题。

var factory=function(a,b){
    this.a=a;
    this.b=b;
    this.c={
        a:6,
        b:function() {
        return this.a;
    }
    } 
}

console.log(new factory(1,2).c.b())

结果6, this指向当前对象


var factory2=function(a,b){
    this.a=a;
    this.b=b;
    this.c={
        a:6,
        b:()=> {
        return this.a;
    }
    } 
}
console.log(new factory2(1,2).c.b())

结果1

es6可以函数给默认参数,可以传递多个可变的参数。

function sum(...a)
{
    var sum=0;
    a.forEach(item=>{
        sum+=item;
    })
    return sum;
}

你可能感兴趣的:(es6知识点)