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 function使用心得
May 10 Javascript
JQuery对id中含有特殊字符的转义处理示例
Sep 06 Javascript
JavaScript获取指定元素位置的方法
Apr 08 Javascript
Backbone.js的一些使用技巧
Jul 01 Javascript
jquery控制显示服务器生成的图片流
Aug 04 Javascript
jquery实现漂亮的二级下拉菜单代码
Aug 26 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
Nov 25 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
Mar 09 Javascript
微信小程序分页加载的实例代码
Jul 11 Javascript
vue 中引用gojs绘制E-R图的方法示例
Aug 24 Javascript
vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错
Nov 06 Javascript
node.js开发辅助工具nodemon安装与配置详解
Feb 06 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和XSS跨站攻击的防范
2007/04/17 PHP
PHP开发中常用的8个小技巧
2008/08/27 PHP
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
php中异常处理方法小结
2015/01/09 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
2018/05/23 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
js中匿名函数的N种写法
2010/09/08 Javascript
Iframe实现跨浏览器自适应高度解决方法
2014/09/02 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
实例讲解JavaScript截取字符串
2018/11/30 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
详解Vue 换肤方案验证
2019/08/28 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
[00:32]2018DOTA2亚洲邀请赛VG出场
2018/04/03 DOTA
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
python之yield和Generator深入解析
2019/09/18 Python
Python缓存技术实现过程详解
2019/09/25 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
优秀经理获奖感言
2014/03/04 职场文书
教师节学生演讲稿
2014/09/03 职场文书
导游词之长城八达岭
2019/09/24 职场文书
微信小程序实现轮播图指示器
2022/06/25 Javascript
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python