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的document.all函数使用示例
Dec 30 Javascript
js简单网速测试方法完整实例
Dec 15 Javascript
js判断某个字符出现的次数的简单实例
Jun 03 Javascript
JS作为值的函数用法示例
Jun 20 Javascript
JavaScript 闭包机制详解及实例代码
Oct 10 Javascript
AngularJS变量及过滤器Filter用法分析
Nov 22 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
Dec 08 Javascript
vue+axios实现文件下载及vue中使用axios的实例
Sep 21 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
Nov 15 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
Jun 06 Javascript
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 Vue.js
实现AJAX异步调用和局部刷新的基本步骤
Mar 17 Javascript
关于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文件上传主要代码讲解
2013/09/30 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
php 中的closure用法详解
2017/06/12 PHP
JavaScript 继承的实现
2009/07/09 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
2017/09/19 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
跟老齐学Python之类的细节
2014/10/13 Python
Python常见异常分类与处理方法
2017/06/04 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
python奇偶行分开存储实现代码
2018/03/19 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
Python itertools.product方法代码实例
2020/03/27 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
2020/05/11 Python
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
美国高街时尚品牌:OASAP
2016/07/24 全球购物
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
ddl,dml和dcl的含义
2016/05/08 面试题
日语求职信范文
2013/12/17 职场文书
护士医德考评自我评价
2015/03/03 职场文书
2015年仓库工作总结
2015/04/09 职场文书
2015年基建工作总结范文
2015/05/23 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python
vue @ ~ 相对路径 路径别名设置方式
2022/06/05 Vue.js