箭头函数
本质是一种函数。
箭头函数就是匿名函数,是简化了的匿名函数,他的调用方法和匿名函数一样
()=>{console.log("你好")}
//1.箭头函数常见用法
let fn1=(a,b)=>{return a+b;}
//2.如果箭头函数没有参数,那么也要写括号
let fn2=()=>{console.log('你好')};
//3.如果只有一个参数,那么括号可以省略
let fn3=name=>{console.log(`你好${name}`);}
//4.如果函数体只有一句执行代码,那么可以省略大括号,同时代码默认会被return 出去
let fn4=name=>console.log(name);
//5.箭头函数没有自己的this,他的this来自于上层作用域的this
let obj={
fn5(){console.log('fn5:'+this)};//obj
fn6:()=>{console.log('fn6:'+this);}//window
}
obj.fn5();
obj.fn6();
回调函数
本质是一种编程模式。
指的是将一个函数作为参数传递给另一个函数,并在需要的时候执行这个函数。
通常在异步操作中使用回调函数,例如定时器、事件处理、网络请求等。当异步操作完成后,会调用传入的回调函数来处理操作结果。
function fetchData(callback) {
// 模拟异步操作
setTimeout(() => {
const data = "Hello, world!";
callback(data); // 异步操作完成后调用回调函数,并传入结果
}, 1000);
}
function processData(data) {
console.log("Received data:", data);
}
fetchData(processData); // 将回调函数作为参数传递给 fetchData 函数