【ES6箭头函数】
箭头函数
因为现在的浏览器都是高版本的所以直接支持es6语法
1.fn函数名 没有参数直接() => 表示return
let fn = () => 123;
2.箭头函数里面没有arguments
let fn = () => arguments;
3.箭头函数里面一个参数可以省略()
let fn = arg => arg;
4.函数体里面有多个表达式需要加{} =>不表示返回 需要自己在{}里面写return
let fn = (a, b) => { let str = a + b; return str };
5.fn is not a constructor
箭头函数不可以作为构造函数使用
let obj = new fn();
console.log(obj);
<button id="dian">点我一下</button>
document.getElementById('dian').onclick = function () {
console.log('外面的this', this)/* button */
/* let that = this; */
/* 箭头函数没有自己的this this是上下文的(代表是外面的this) */
/* 箭头函数没有参数要加() */
setTimeout(() => {
/* console.log('普通函数里面的this',this) */ /* window */
/* console.log('里面的that',that) */ /* button */
console.log('箭头函数里面的this',this)
}, 1000)
}