首页 相关文章 JavaScript教程:浅析JS运行机制

JavaScript教程:浅析JS运行机制

从一个简单的问题谈起:

script type="text/javascript"alert(i); // ?var i = 1;/script

输出结果是undefined, 这种现象被称成预解析:JavaScript引擎会优先解析var变量和function定义。在预解析完成后,才会执行代码。如果一个文档流中包含多个script代码段(用script标签分隔的js代码或引入的js文件),运行顺序是:

step1. 读入第一个代码段step2. 做语法分析,有错则报语法错误(比如括号不匹配等),并跳转到step5step3. 对var变量和function定义做预解析(永远不会报错的,因为只解析正确的声明)step4. 执行代码段,有错则报错(比如变量未定义)step5. 如果还有下一个代码段,则读入下一个代码段,重复step2step6. 结束

上面的分析,已经能解释很多问题了,但老觉得欠缺点什么。比如step3里,预解析究竟是怎么回事?还有step4里,看下面的例子:

script type="tex...[ 查看全文 ]

2016-02-20 标签:

JavaScript教程:浅析JS运行机制的相关文章

手机页面
收藏网站 回到头部