浅谈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 相关文章推荐
js文件缓存之版本管理详解
Jul 05 Javascript
引用 js在IE与FF之间的区别详细解析
Nov 20 Javascript
9款2014最热门jQuery实用特效推荐
Dec 07 Javascript
浅谈Jquery核心函数
Jun 18 Javascript
jQuery实现可编辑的表格实例讲解(2)
Sep 17 Javascript
再谈JavaScript异步编程
Jan 27 Javascript
jQuery事件委托之Safari
Jul 05 Javascript
BootStrap 导航条实例代码
May 18 Javascript
Angular2学习教程之TemplateRef和ViewContainerRef详解
May 25 Javascript
json前后端数据交互相关代码
Sep 19 Javascript
35个最好用的Vue开源库(史上最全)
Jan 03 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
Aug 22 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
MVC模式的PHP实现
2006/10/09 PHP
php的socket编程详解
2016/11/20 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
laravel 实现根据字段不同值做不同查询
2019/10/23 PHP
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
js继承的实现代码
2010/08/05 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
js+css绘制颜色动态变化的圈中圈效果
2016/01/27 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
使用jquery Ajax实现上传附件功能
2018/10/23 jQuery
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
python opencv实现切变换 不裁减图片
2018/07/26 Python
python实现彩色图转换成灰度图
2019/01/15 Python
python根据时间获取周数代码实例
2019/09/30 Python
python3爬取torrent种子链接实例
2020/01/16 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
美国汽车零部件和配件网站:CarParts
2019/03/13 全球购物
介绍一下write命令
2014/08/10 面试题
总裁岗位职责
2013/12/04 职场文书
《分一分》教学反思
2014/04/13 职场文书
安全生产大检查方案
2014/05/07 职场文书
松材线虫病防治方案
2014/06/15 职场文书
道路施工安全责任书
2014/07/24 职场文书
自我检讨报告
2015/01/28 职场文书
新郎结婚保证书
2015/02/26 职场文书
学生检讨书怎么写
2015/05/07 职场文书
ajax请求前端跨域问题原因及解决方案
2021/10/16 Javascript
Oracle数据库事务的开启与结束详解
2022/06/25 Oracle
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技