浅谈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 相关文章推荐
jquery获取table中的某行全部td的内容方法
Mar 08 Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
Jan 19 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
Jun 08 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
Jan 20 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
Mar 13 Javascript
JavaScript实现短信倒计时60s
Oct 09 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
Sep 24 Javascript
layui数据表格重载实现往后台传参
Nov 15 Javascript
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
js实现简单商品筛选功能
Feb 02 Javascript
JavaScript实现贪吃蛇游戏
Jun 16 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
php select,radio和checkbox默认选择的实现方法
2010/05/15 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
php对象工厂类完整示例
2018/08/09 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
基于jquery的超简单上下翻
2010/04/20 Javascript
小试JQuery的AutoComplete插件
2011/05/04 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
node文件上传功能简易实现代码
2017/06/16 Javascript
nodejs中解决异步嵌套循环和循环嵌套异步的问题
2017/07/12 NodeJs
JavaScript requestAnimationFrame动画详解
2017/09/14 Javascript
详解小程序input框失焦事件在提交事件前的处理
2019/05/05 Javascript
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
Element-UI 使用el-row 分栏布局的教程
2020/10/26 Javascript
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
python发送邮件功能实现代码
2016/07/15 Python
利用python实现数据分析
2017/01/11 Python
python开发简易版在线音乐播放器
2017/03/03 Python
numpy中矩阵合并的实例
2018/06/15 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
python爬虫神器Pyppeteer入门及使用
2019/07/13 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
2020/11/13 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
安全标兵事迹材料
2014/08/17 职场文书
文明好少年事迹材料
2014/08/19 职场文书
2014年协会工作总结
2014/11/22 职场文书
教师求职信怎么写
2015/03/20 职场文书
2015年党总支工作总结
2015/05/25 职场文书
Python中的pprint模块
2021/11/27 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python