箭头函数

108 阅读1分钟

因为现在的浏览器都是高版本的所以直接支持es6语法

function fn() {

return arguments[0]

}

let a = fn();

fn函数名 没有参数直接() => 表示return

let fn = () => 123;

箭头函数里面没有arguments

let fn = () => arguments;

箭头函数里面一个参数可以省略()

let fn = arg => arg;

箭头函数里面多个参数不可以省略()

let fn = (a, b) => a + b;

函数体里面有多个表达式需要加{} =>不表示返回 需要自己在{}里面写return

let fn = (a, b) => { let str = a + b; return str };

fn is not a constructor 箭头函数不可以作为构造函数使用

let obj = new fn();

console.log(obj);

let a = fn('111', '2222');

console.log(a);

document.getElementById('dian').onclick = function () {

console.log('外面的this', this)

let that = this;

箭头函数没有自己的this this是上下文的(代表是外面的this)

箭头函数没有参数要加()

setTimeout(() => {

console.log('普通函数里面的this',this)

console.log('里面的that',that)

console.log('箭头函数里面的this',this)

}, 1000)

}