浅谈js script标签中的预解析


Posted in Javascript onDecember 30, 2016

首先介绍预解析,虽然预解析字面意思很好理解,但是却是出坑出的最多的地方,也是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>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
javascript 判断数组是否已包含了某个元素的函数
May 30 Javascript
密码强度检测效果实现原理与代码
Jan 04 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
May 07 Javascript
js的[defer]和[async]属性
Nov 24 Javascript
jQuery随机密码生成的方法
Mar 09 Javascript
JS中使用变量保存arguments对象的方法
Jun 03 Javascript
angularjs实现过滤并替换关键字小功能
Sep 19 Javascript
React 项目迁移 Webpack Babel7的实现
Sep 12 Javascript
深入理解 Koa 框架中间件原理
Oct 18 Javascript
node+express框架中连接使用mysql(经验总结)
Nov 10 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
Mar 10 Javascript
详解vue3.0 的 Composition API 的一种使用方法
Oct 26 Javascript
jQuery实现页面顶部下拉广告
Dec 30 #Javascript
jQuery Password Validation密码验证
Dec 30 #Javascript
JS编写函数实现对身份证号码最后一位的验证功能
Dec 29 #Javascript
EasyUI学习之Combobox下拉列表(1)
Dec 29 #Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
Dec 29 #Javascript
jQuery+HTML5实现弹出创意搜索框层
Dec 29 #Javascript
Bootstrap3 内联单选和多选框
Dec 29 #Javascript
You might like
javascript 函数式编程
2007/08/16 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
js中settimeout方法加参数的使用实例
2014/02/27 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
使用javascript实现雪花飘落的效果
2015/01/13 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
Python创建日历实例
2014/08/21 Python
Python实现网站文件的全备份和差异备份
2014/11/30 Python
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
校园歌咏比赛主持词
2014/03/18 职场文书
运动会横幅标语
2014/06/17 职场文书
食品安全汇报材料
2014/08/18 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书
博士导师推荐信
2015/03/25 职场文书
2015年公务员个人工作总结
2015/04/24 职场文书
上诉状格式
2015/05/23 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL