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代码
Sep 22 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
Dec 16 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
Oct 16 Javascript
javascript正则表达式使用replace()替换手机号的方法
Jan 19 Javascript
javascript绘制漂亮的心型线效果完整实例
Feb 02 Javascript
AngularJs bootstrap详解及示例代码
Sep 01 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
Dec 03 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
Jan 12 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
Jul 07 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
Sep 22 Javascript
vue实现购物车的小练习
Dec 21 Vue.js
Vue2.x-使用防抖以及节流的示例
Mar 02 Vue.js
关于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编程中八种常见的文件操作方式
2006/11/19 PHP
通过5个php实例细致说明传值与传引用的区别
2012/08/08 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
php实现获取及设置用户访问页面语言类
2014/09/24 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
php探针不显示内存解决方法
2019/09/17 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
js判断变量是否空值的代码
2008/10/26 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
2014/05/18 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
JS动态添加iframe的代码
2015/09/14 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
JavaScript鼠标特效大全
2016/09/13 Javascript
vue实现重置表单信息为空的方法
2018/09/29 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python Requests库基本用法示例
2018/08/20 Python
python数据抓取3种方法总结
2021/02/07 Python
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
最新自我评价范文
2013/11/16 职场文书
《藏戏》教学反思
2014/02/11 职场文书
感恩老师的演讲稿
2014/05/06 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
民事申诉状范本
2015/05/20 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书