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

你可能感兴趣的文章
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugManifest'
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
查看>>
org.springframework.amqp.AmqpConnectException:java.net.ConnectException:Connection timed out:connect
查看>>
org.springframework.beans.factory.BeanDefinitionStoreException
查看>>
org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata
查看>>
org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012
查看>>
SQL-CLR 类型映射 (LINQ to SQL)
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>
org.tinygroup.serviceprocessor-服务处理器
查看>>
org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
查看>>
org/hibernate/validator/internal/engine
查看>>
Orleans框架------基于Actor模型生成分布式Id
查看>>
SQL-36 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。
查看>>