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 相关文章推荐
网上抓的一个特效
May 11 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
Nov 07 Javascript
js+数组实现网页上显示时间/星期几的实用方法
Jan 18 Javascript
js中reverse函数的用法详解
Dec 26 Javascript
JS 弹出层 定位至屏幕居中示例
May 21 Javascript
基于jQuery实现点击列表加载更多效果
May 31 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
Jan 04 Javascript
jQuery实现遍历复选框的方法示例
Mar 06 Javascript
浅谈react 同构之样式直出
Nov 07 Javascript
详解Vue中localstorage和sessionstorage的使用
Dec 22 Javascript
在项目vue中使用echarts的操作步骤
Sep 07 Javascript
解决antd的Form组件setFieldsValue的警告问题
Oct 29 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 header示例代码(推荐)
2010/09/08 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
Zend Framework入门知识点小结
2016/03/19 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
JS实现图片预加载无需等待
2012/12/21 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
分享网页检测摇一摇实例代码
2016/01/14 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
Python中__init__和__new__的区别详解
2014/07/09 Python
python中的计时器timeit的使用方法
2017/10/20 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
python Xpath语法的使用
2020/11/26 Python
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
工程造价专业大学生自荐信
2013/10/01 职场文书
中专毕业生自荐信范文
2013/11/28 职场文书
《狐假虎威》教学反思
2014/02/07 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
民主评议党员工作总结
2014/10/20 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
学习经验交流会策划书
2015/11/02 职场文书
银行柜员优质服务心得体会
2016/01/22 职场文书
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL
docker 制作mysql镜像并自动安装
2022/05/20 Servers
flex布局中使用flex-wrap实现换行的项目实践
2022/06/21 HTML / CSS