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

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

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

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

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

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


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,709评论 0 6
  • 继承 一、混入式继承 二、原型继承 利用原型中的成员可以被和其相关的对象共享这一特性,可以实现继承,这种实现继承的...
    magic_pill阅读 1,096评论 0 3
  • 来源:仗剑走天涯! 关于javascript的作用域的一些总结,主要参考以上文章,加上自己的整理的理解。 近日对j...
    Michael_林阅读 971评论 0 1
  • 文字,尤如一芽新月,始终在心里。 日头里的风,街边的景,振翅飞的蚂蚱,星河明远,白露为霜,雪满山原,四季轮回,眼目...
    铭玥咏全阅读 307评论 0 0
  • 爸爸的手机声音不好,给他换了一款。送过去,爸爸在试着各种功能,因动作慢,试了几次开锁键都不成功。看着爸爸明显迟缓的...
    尘点阅读 147评论 0 0