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 相关文章推荐
面向对象的javascript(笔记)
Oct 06 Javascript
ajax不执行success回调而是执行了error回调
Dec 10 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
May 08 Javascript
利用浏览器全屏api实现js全屏
Jan 16 Javascript
JavaScript中九种常用排序算法
Sep 02 Javascript
js实现图片在未加载完成前显示加载中字样
Sep 03 Javascript
jquery制作LED 时钟特效
Feb 01 Javascript
JavaScript操作选择对象的简单实例
May 16 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
Sep 15 Javascript
微信小程序整个页面的自动适应布局的实现
Jul 12 Javascript
小程序中手机号识别的示例
Dec 14 Javascript
插件导致ECharts被全量引入的坑示例解析
Sep 23 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
教你如何把一篇文章按要求分段
2006/10/09 PHP
php自定义的格式化时间示例代码
2013/12/05 PHP
PHP实现将textarea的值根据回车换行拆分至数组
2015/06/10 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
详解php框架Yaf路由重写
2017/06/20 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
PHP多进程简单实例小结
2019/11/09 PHP
读jQuery之二(两种扩展)
2011/06/11 Javascript
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
2013/10/20 Javascript
jquery实现通用版鼠标经过淡入淡出效果
2014/06/15 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
2018/02/11 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
jquery实现购物车基本功能
2019/10/25 jQuery
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
python 8种必备的gui库
2020/08/27 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
How TDD works
2012/09/30 面试题
运动会通讯稿50字
2014/01/30 职场文书
工厂会计员职责
2014/02/06 职场文书
培训讲师开场白
2015/06/01 职场文书
小马王观后感
2015/06/11 职场文书
保护环境的宣传语
2015/07/13 职场文书
汽车车尾标语大全
2015/08/11 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
Python进程池与进程锁之语法学习
2022/04/11 Python