JS作用域和预解析之间的运作模式

JS作用域和解析器之间是怎么运转的,看到作用域一换就会预解析,然后找关键字什么的,变量重名还要区分是不是一个东西,好乱啊

js怎么运作是解释器实现者的事,也就是我不管你怎么实现,有没有预解析,总之必须按照语言规范,什么样的代码,执行结果是怎么样,这个是确定的,作用域和关键字是语言规范规定的。无论解释器怎么实现,这些都是固定不变的(除非解释器有bug)
对于学习js来说,只要学习后者就可以了。

javascript运行机制浅析