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模板实现方法
Apr 27 Javascript
HTML node相关的一些资料整理
Jan 01 Javascript
红米手机抢购的js代码
Mar 10 Javascript
在JavaScript中判断整型的N种方法示例介绍
Jun 18 Javascript
js实现class样式的修改、添加及删除的方法
Jan 20 Javascript
javascript中一些util方法汇总
Jun 10 Javascript
jQuery的ready方法实现原理分析
Oct 26 Javascript
Angularjs上传文件组件flowjs功能
Aug 07 Javascript
JS传播事件、取消事件默认行为、阻止事件传播详解
Aug 14 Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
Apr 25 Javascript
js拖动滑块和点击水波纹效果实例代码
Oct 16 Javascript
Koa 使用小技巧(小结)
Oct 22 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 array 的加法操作代码
2010/07/24 PHP
php模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
JS常见问题整理(持续更新)
2013/08/06 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
2014/06/24 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
chrome浏览器当表单自动填充时如何去除浏览器自动添加的默认样式
2015/10/09 Javascript
js去字符串前后空格的实现方法
2016/02/26 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
BootStrap下拉菜单和滚动监听插件实现代码
2016/09/26 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
[01:02:20]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
python类继承用法实例分析
2015/05/27 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
75条笑死人的知乎神回复,用60行代码就爬完了
2019/05/06 Python
Python高级编程之继承问题详解(super与mro)
2019/11/19 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
python-sys.stdout作为默认函数参数的实现
2020/02/21 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
心得体会怎么写
2013/12/30 职场文书
刑事代理授权委托书
2014/09/17 职场文书
北大自主招生自荐信
2015/03/04 职场文书
个人年终总结怎么写
2015/03/09 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
python读取mnist数据集方法案例详解
2021/09/04 Python