浅谈js script标签中的预解析
2016-12-30 08:49
666 查看
首先介绍预解析,虽然预解析字面意思很好理解,但是却是出坑出的最多的地方,也是bug经常会有的地方,利用好预解析的特性可以解决很多问题,并且提高代码的质量及数量,浏览器在解析代码前会把变量的声明和函数(整个函数体)提前到当前作用域的最顶端。
细节问题:在多对的script标签中如果有相同的函数,那它们相互之间是不会受影响的,在第二对script标签中声明变量或者是创建函数,在第一对script标签中是无法访问到的,这就说明了,javaScript的预解析只会在各自的script标签中发生,同时,第一对script标签中报错是不会影响到下面script标签中js代码的执行。但在第一对标签中声明的变量和函数是可以在第二对标签中获取到的。当然对于函数来说,预解析也只会将声明的变量及子级函数提升到当前函数的内部的最上面。
<script> var numOne = 5; function num() { return 1; } console.log(num()); //1 console.log(numOne); //5 </script> <script> function num() { return 2; } console.log(num()); //2 console.log(numOne); //5 var numOne = 10; </script>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
您可能感兴趣的文章:
相关文章推荐
- Freemarker 标签完全解析
- Struts2标签详解及具体实例解析
- 解析HTML标签 iOS
- 小博老师解析Java核心技术 ——JSTL核心标签库
- 请求封装器、过滤器解决对用户提交数据中html标签的解析
- HTML中的小<meta>大作用--解析meta标签的作用
- Xml解析之----Pull (标签全是 String)
- html meta标签属性用法解析
- spring tx标签配置事务的解析过程
- phpcms 标签解析
- Spring Security3源码分析(2)-http标签解析
- 爬取微博的数据时别人用的是FM.view方法传递html标签那么jsoup怎么解析呢
- 请教:如何通过word解析HTML标签(急哦!)
- Android NFC标签 开发深度解析 触碰的艺术
- struts.xml配置文件的各个 标签/属性 解析(转)
- structs2源码解读(6)之解析package标签
- 关于解析emoji表情EmojiconTextView控件与超链接解析标签的冲突
- context:property-placeholder 标签解析
- Spring--解析默认标签
- ejs 无法解析标签