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 屏蔽鼠标键盘的几段代码
Jan 02 Javascript
ajaxControlToolkit AutoCompleteExtender的用法
Oct 30 Javascript
编写Js代码要注意的几条规则
Sep 10 Javascript
使用jQuery插件创建常规模态窗口登陆效果
Aug 23 Javascript
input禁止键盘及中文输入,但可以点击
Feb 13 Javascript
鼠标滑过出现预览的大图提示效果
Feb 26 Javascript
教你如何使用PHP输出中文JSON字符串
May 22 Javascript
Bootstrap学习笔记之css组件(3)
Jun 07 Javascript
jquery中的常见问题及快速解决方法小结
Jun 14 Javascript
微信小程序中实现一对多发消息详解及实例代码
Feb 14 Javascript
vue-cli脚手架的安装教程图解
Sep 02 Javascript
Vue项目中如何使用Axios封装http请求详解
Oct 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
超强分页类2.0发布,支持自定义风格,默认4种显示模式
2007/01/02 PHP
php中的实现trim函数代码
2007/03/19 PHP
php入门学习知识点六 PHP文件的读写操作代码
2011/07/14 PHP
thinkphp3查询mssql数据库乱码解决方法分享
2014/02/11 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
详解JavaScript常量定义
2017/01/03 Javascript
JavaScript输出所选择起始与结束日期的方法
2017/07/12 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
详解组件库的webpack构建速度优化
2018/06/18 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
Vue中添加滚动事件设置的方法详解
2020/09/14 Javascript
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
Python读取文件内容的三种常用方式及效率比较
2017/10/07 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
Python PyQt5整理介绍
2020/04/01 Python
python如何输出反斜杠
2020/06/18 Python
铭万公司.net面试题笔试题
2014/07/20 面试题
教育学专业毕业生的自我评价
2013/11/21 职场文书
运动会入场解说词300字
2014/01/25 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
简单租房协议书范本
2014/08/20 职场文书
2014卖家双十一活动策划书
2014/09/29 职场文书
小学生通知书评语
2014/12/31 职场文书