预解析是什么?
官方式:
预解析就是提前把变量或函数预先解析到它们被使用的环境中
聊天式:
预解析就是浏览器的js 引擎在执行js代码 提前做的一些准备工作,
他会把我们代码中的一些变量核函数提前加载到自己的运行环境中并赋予默认的undefined
解析有哪些原则?
1. JavaScript “预解析”过程中,遇到重名的内容,只保留一个:
⑴ 重名变量或重名函数,保留最后的一个;
⑵ 变量和函数重名,只保留函数;
2.根据作用域链,来查找上文第一步中提到的需要被解析的东西
查找原则:从上到下,从里到外即先找局部作用域里找,然后子对象会一级一级向上寻找所有父对象的变量。