es6知识点

2019-08-12 15:15:56 浏览数 (1)

作用域提升问题。

代码语言:javascript复制
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]())

image.png

代码语言:javascript复制
let evens=[1,2,3,4,5,6];
let odds=evens.map(v=>v 1);
console.log(evens,odds)

image.png

this 的对象,指向问题。

代码语言:javascript复制
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指向当前对象

代码语言:javascript复制
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可以函数给默认参数,可以传递多个可变的参数。

代码语言:javascript复制
function sum(...a)
{
    var sum=0;
    a.forEach(item=>{
        sum =item;
    })
    return sum;
}

0 人点赞