前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一起升级技能,先行者课程学习笔记

一起升级技能,先行者课程学习笔记

作者头像
web前端教室
发布2018-07-30 14:10:27
2140
发布2018-07-30 14:10:27
举报

今天我们的内容是学习一下js的词法分析。

JavaScript代码运行前有一个类似编译的过程即词法分析,

(因为js的词法分析,是在js真正的执行之前,由浏览器中的js引擎来进行的,

所以真正的js的词法分析的过程,是无法演示的,

只能是通过一些个例子,给大家讲一个它的过程与理论。

Js词法分析主要有三个阶段:

1、分析你所传入的参数;

2、再来分析函数内部,变量的声明;

3、分析函数声明;

<!-- =========== -->

具体步骤:

-- Js运行之前的那么一瞬间,生成一个活动对象(Active Object),简直AO对象。

第一步,分析参数;

1、函数接收了形参,它会被添加到AO对象之前,此时它的值为undefined,

即,AO.n = undefined

2、函数接收了实参,把它再添加到AO的属性,覆盖了之前的undefined。

第二步,分析变量声明,

1、如果之前那一步参数中的AO还没有xx,就把这个属性的值设置为undefined;

2、如果之前AO对象,它已经有了xx属性,那么就不做任何的修改;

第三步,分析函数的声明

如果有function strPro(){}这个函数,

那么就把strPro做为属性,赋值给AO对象。

<!-- -->

看 demo.html

<!-- -->

今天的内容就这些,

主要是讲js在执行之前发生了些什么?

今天的内容最好是和上一期的“变量声明提升”一起看,

会比较有收获。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档