js作用域和作用域链及预解析


Posted in Javascript onApril 11, 2019

变量---->局部变量和全局变量,

作用域:在某个空间范围内,可以对数据进行读写操作

局部作用域和全局作用域

js中没有块级作用域—一对括号中定义的变量,这个变量可以在大括号外面使用
函数中定义的变量是局部变量
作用域链:变量的使用,从里向外,层层的搜索,搜索到了就可以直接使用了
层层搜索,搜索到0级作用域的时候,如果还是没有找到这个变量,结果就是报错

在 JavaScript 中, 对象和函数同样也是变量。

在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。

JavaScript 函数作用域: 作用域在函数内修改。

JavaScript 局部作用域

变量在函数内声明,变量为局部作用域。

局部变量:只能在函数内部访问。

因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。

局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。

JavaScript 全局变量

变量在函数外定义,即为全局变量。

全局变量有 全局作用域: 网页中所有脚本和函数均可使用。 

如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。

JavaScript 变量生命周期

JavaScript 变量生命周期在它声明时初始化。

局部变量在函数执行完毕后销毁。

函数参数

函数参数只在函数内起作用,是局部变量。

HTML 中的全局变量

在 HTML 中, 全局变量是 window 对象: 所有数据变量都属于 window 对象。

作用域链:从子集作用域返回到父集作用域的过程

局部有能力去改外面(全局)的值

预解析:

预解析:在当前作用域下,js运行之前,会把带有var和function关键字的事先声明,并在内存中安排好。然后再从上到下执行js语句。

预解析只会发生在通过var定义的变量和function上。

以上所述是小编给大家介绍的js作用域和作用域链及预解析详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js CSS操作方法集合
Oct 31 Javascript
原来Jquery.load的方法可以一直load下去
Mar 28 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
Oct 11 Javascript
jquery实现先淡出再折叠收起的动画效果
Aug 07 Javascript
基于JavaScript实现文字超出部分隐藏
Feb 29 Javascript
JSON 必知必会 观后记
Oct 27 Javascript
微信小程序学习(4)-系统配置app.json详解
Jan 12 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
Mar 09 Javascript
vant 解决tab切换插件标题样式自定义的问题
Nov 13 Javascript
javascript实现电商放大镜效果
Nov 23 Javascript
Vue使用Element实现增删改查+打包的步骤
Nov 25 Vue.js
html5以及jQuery实现本地图片上传前的预览代码实例讲解
Mar 01 jQuery
关于js陀螺仪的理解分析
Apr 11 #Javascript
angular 表单验证器验证的同时限制输入的实现
Apr 11 #Javascript
angular 实现同步验证器跨字段验证的方法
Apr 11 #Javascript
vue实现新闻展示页的步骤详解
Apr 11 #Javascript
记一次用vue做的活动页的方法步骤
Apr 11 #Javascript
vue数据初始化initState的实例详解
Apr 11 #Javascript
Vue起步(无cli)的啊教程详解
Apr 11 #Javascript
You might like
php中unserialize返回false的解决方法
2014/09/22 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
jquery 弹出登录窗口实现代码
2009/12/24 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
js实现股票实时刷新数据案例
2017/05/14 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
Python实现汇率转换操作
2020/05/03 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
XD健身器材:Kevlar球、Crossfit健身球
2019/03/26 全球购物
越南综合购物网站:Lazada越南
2019/06/10 全球购物
英国健身超市:Fitness Superstore
2019/06/17 全球购物
英国豪华装饰照明品牌的在线零售商:Inspyer Lighting
2019/12/10 全球购物
护理自荐信范文
2013/10/05 职场文书
应届生学校辅导员求职信
2013/11/07 职场文书
幼师辞职信范文大全
2015/05/12 职场文书
贫困生证明范文
2015/06/16 职场文书
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python
windows server2012 R2下安装PaddleOCR服务的的详细步骤
2022/09/23 Servers