博客
关于我
JS中的预编译,如何进行这种行为?
阅读量:71 次
发布时间:2019-02-26

本文共 1774 字,大约阅读时间需要 5 分钟。

??

???????????????????????????????????????JavaScript??????????????????????????JavaScript?????????????????????????????????JavaScript??????????????

??

??????????????????

??parse??

1. ??????????????token?? 2. ????token?????????AST????????

??analyze??

3. ????????????????????????scope???????????????????????undefined????????????????????????????????????????????????????????????????

???????

????????????????????

var a = 100  function foo(){      console.log(a);  }  foo()

????????a???100? ?????100?????a?

??????????????????????????????????????????????

1. ???????Global Object?GO?? 2. ???????Activation Object?AO??

??????

1. ??????     a. ??GO???     b. ???????var a???GO??????????undefined?     c. ???????function foo(){})??GO??????????????
2. ??????     a. ??AO???     b. ????????????AO??????????undefined?     c. ?????????????????AO????

?????????????????

?????????GO????var a?function foo()???????undefined???var a = 100??a????100?????foo???????AO????????????????????????GO?????????100???

?????????????????????????????????????????????????????????

global = 100  function fn() {      console.log(global);      global = 200;      console.log(global);      var global = 300  }  fn()

?????????????????

?????????

1. GO????????????? - global: undefined ? ????100? - fn: ???? 2. ??global = 100??100????GO??global??? 3. ??fn??????AO??? - AO????????????????????GO???????? - ???console.log(global)??GO??global???100? 4. ??????global = 200????AO??global??????200? 5. ???console.log(global)??AO??global???200? 6. ??var global = 300?????AO??global????????300? 7. ??????????AO????????global??????????

??????? - ???console.log??100? - ???console.log??200? - ???console.log??????????300?

????????????????JavaScript???????????????????????????????????????????????????????????????JavaScript????????

转载地址:http://nkbz.baihongyu.com/

你可能感兴趣的文章
Python 优化提速的 8 个小技巧
查看>>
Python 余弦相似度与皮尔逊相关系数 计算
查看>>
python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
查看>>
python 使用filetype校验文件
查看>>
Python 使用flush函数将缓冲区数据立即写磁盘
查看>>
python 使用in判断不准确,in不好使
查看>>
Python 使用pandas 进行查询和统计详解
查看>>
Redis 配置文件redis.conf详细解释
查看>>
python网络爬虫(2)——scrapy框架的基础使用
查看>>
python 倒计时 9,8,7,。。。。。。0
查看>>
Python 内嵌函数:它们有什么用处?
查看>>
Python 基础语法:基本数据类型(集合)
查看>>
python 复习计划
查看>>
Python 多处理 apply_async 永远不会在 Windows 7 上返回结果
查看>>
Python 多处理 Numpy 随机
查看>>
Python 多处理 >= 125 列表永远不会完成
查看>>
Python 多处理:在第一个子错误时中止映射
查看>>
Python 多处理不断产生 pythonw.exe 进程而不做任何实际工作
查看>>
Python 多处理从不加入
查看>>
Python 多处理如何优雅地退出?
查看>>