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 相关文章推荐
jQuery实现的仿select功能代码
Aug 19 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
Apr 17 Javascript
bootstrap按钮插件(Button)使用方法解析
Jan 13 Javascript
js 性能优化之算法和流程控制
Feb 15 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
Mar 01 Javascript
在ABP框架中使用BootstrapTable组件的方法
Jul 31 Javascript
jquery radio 动态控制选中失效问题的解决方法
Feb 28 jQuery
VUE实现可随意拖动的弹窗组件
Sep 25 Javascript
简述vue路由打开一个新的窗口的方法
Nov 29 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
Apr 29 Javascript
vue中使用v-for时为什么不能用index作为key
Apr 04 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
Jun 04 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_xmlhttp 乱码问题解决方法
2009/08/07 PHP
PHP url 加密解密函数代码
2011/08/26 PHP
php代码收集表单内容并写入文件的代码
2012/01/29 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
利用js对象弹出一个层
2008/03/26 Javascript
javascript学习笔记(十) js对象 继承
2012/06/19 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
jQuery实现自定义checkbox和radio样式
2015/07/13 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
2015/12/23 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
2017/01/05 Javascript
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
React学习笔记之列表渲染示例详解
2017/08/22 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
vue的for循环使用方法
2019/02/12 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
Element Badge标记的使用方法
2020/07/27 Javascript
python列出目录下指定文件与子目录的方法
2015/07/03 Python
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
如何利用python制作时间戳转换工具详解
2018/09/12 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
Django框架验证码用法实例分析
2019/05/10 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
2020/02/24 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
《哪吒闹海》教学反思
2014/02/28 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
分家协议书范本
2016/03/22 职场文书
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
django 认证类配置实现
2021/11/11 Python