1.非箭头函数下的 this var obj = { x: 0, f1: function () { console.log(this.x); } } var f1 = obj.f1; var x = 1; obj.f1(); //0 f1(); //1 上面代码中,虽然 obj.f1 和 f1 指向的是同一个函数,但是执行的结果却不一样.这种差异的原因,就在于函数体内使用了 this 关键字.我们都知道,this 指的是函数运行时所在的环境.对于 obj.f1() 来说,f1 运行在 obj…
变量的解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构. 数组的解构赋值 以前,为变量赋值,只能直接指定值: 1 2 3 var a = 1; var b = 2; var c = 3; ES6允许写成下面这样: 1 var [a, b, c] = [1, 2, 3]; 这种写法属于"模式匹配",只要等号两边的模式相同,左边的变量就会被赋予对应的值,如果解构不成功,变量的值就等于undefined,下面是一些使用嵌套数组进行解构的例子: 1 2 3…