博客
关于我
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/

你可能感兴趣的文章
Openlayers中点击地图获取坐标并输出
查看>>
Openlayers中设置定时绘制和清理直线图层
查看>>
Openlayers图文版实战,vue项目从0到1做基础配置
查看>>
Openlayers实战:modifystart、modifyend互动示例
查看>>
Openlayers实战:判断共享单车是否在电子围栏内
查看>>
Openlayers实战:加载Bing地图
查看>>
Openlayers实战:绘制图形,导出geojson文件
查看>>
Openlayers实战:绘制图形,导出KML文件
查看>>
Openlayers实战:绘制多边形,导出CSV文件
查看>>
Openlayers实战:绘制带箭头的线
查看>>
Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
查看>>
Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
查看>>
Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
查看>>
Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
查看>>
Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
查看>>
Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
查看>>
Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
查看>>
Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
查看>>
Openlayers高级交互(2/20):清除所有图层的有效方法
查看>>
Openlayers高级交互(20/20):超级数据聚合,页面不再混乱
查看>>