js函数lazy parsing/eager parsing

264 阅读1分钟

函数在初始化时,都会先进行一次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它会帮我将去掉的括号再加回来!