函数在初始化时,都会先进行一次lazy parsing,但是有的函数因为要立即执行,这时又会进行一次eager parsing,这样就导致我们同一个函数被重复解析,降低了整体效率
export defaiult ()=>{
const add=(a,b)=>a*b
const num1=1
const num2=2
add(num1,num2)
}
当代码走到第2行,读到add()函数,此时会进行一次lazy parsing ,然后走到第5行,在实际调用时会进行一次eager parsing;
当我们知道,定义的函数会很快执行,让解析立即解析; 优化:在第2行加(),告诉解析器,直接进行解析,eager parsing 提高执行效率
export defaiult ()=>{
const add=((a,b)=>a*b)
const num1=1
const num2=2
add(num1,num2)
}
但在实际项目中,js在压缩时会自动去掉这对括号,这样就导致我们无法将想做的事情通知给解析器,这个时候我们就要用到Optimize.js了,它的首页已经给了我们使用案例:
我们直接使用Optimize.js它会帮我将去掉的括号再加回来!