javascript非常有用之---预解析

前段时间在segments社区看到一篇很不错的文章,结合之前面试做的笔试题,真的是受益匪浅,现在写出来,前端的小伙伴们一起分享;

关于预解析,我们首先要了解以下知识点

  • 在当前作用域下,js运行之前,会把所有用var和function声明的变量和函数提前声明,但不会对其赋值;

  • 函数声明优先于变量声明;

  • 函数表达式的优先级和变量声明优先级相同,按照先后顺序执行;


之前面试的时候被问到关于作用域和this指向的问题,我基本上是这样回答的,浏览器在解析我们的js代码时,(先分析词法环境),把所有的var和function声明的,都作为全局,它们都指向Windows对象,所有在函数内部声明的变量都指向该函数,函数内部的可以调用外部的变量,但是外部的无法访问函数内部的变量;

你可能感兴趣的:(javascript非常有用之---预解析)