前端笔记7 es6初探

1. let && const

let 和var的区别

1.let属于块级作用域,而var属于函数作用域。

2.let定义的变量不存在变量提升,要是要必须先定义。var 存在变量提升。

3.let不允许在相同的作用域类重复定义变量。使用var,后定义变量会覆盖前者。

const 与let的区别

1.const用于定义常量,必须赋值。

2.当定义简单变量时,只能使用,不能修改;当定义obj变量时,能改变obj内部的值,但变量引用不变。

2.箭头函数

var func = function(n1,n2){

  return n1;

}

简写为 var func = (n1,n2)=>n1; 或者 var func = (n1,n2)=>{ return n1;}

箭头函数中this的指向问题。总结:箭头函数中的this指向的是定义时的this,而不是执行时的this。

当箭头函数当作方法使用时。总是指向window对象,不管是不是"use strict"

var obj = {

  i: 10,

  b: () => console.log(this.i, this),

  c: function() { console.log( this.i, this) }

}

obj.b();   // undefined window{...}

obj.c();   // 10 Object {...}

当箭头函数在方法内部,总之不是独立当作方法使用时,它会捕获其所在(即定义的位置)上下文的this值, 作为自己的this值.

function Person(){
  this.age = 0;
  setTimeout(()=>console.log(this),3000);
}
let p = new Person();    //this指向p对象。
 
3.模板字符串。

猜你喜欢

转载自www.cnblogs.com/lixiaobing/p/9897628.html