摘要:阮一峰老师开源作品。书上的示例代码可以通过在线网站代码调试工具调试。
阮一峰老师开源作品。
书上的示例代码可以通过 在线网站代码调试工具 JS Bin 调试。
作用域 作用域链每个变量或函数通过执行环境 (execution context) 定义了其有权访问的其他数据,决定了他们各自的行为;
全局执行环境是最顶层的执行环境,根据宿主环境的不同,表示全局执行环境的对象也不同:在浏览器中为 window 或 self 对象,在 Node.js 中为 global;
每个执行环境都有一个与之相关联的变量对象 (variable object) ,存储了改环境中定义的所有变量和函数;
作用域(scope chain) 存储了与当前执行环境相关的所有变量对象,第一个为当前执行环境关联的变量对象,然后是包含环境的变量对象,直至全局执行环境的变量对象,即全局执行环境;
在代码中查找变量的值称为变量解析(variable name resolution),查找顺序是沿作用域链一级一级向外搜索;
全局作用域 函数作用域 块级作用域 函数声明ES5 规定函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域声明,但浏览器为兼容旧代码,仍允许在块级作用域中声明;
ES6 明确允许函数在块级作用域声明,但应尽量使用函数表达式形式,如下:
let f = function () { return a; };let 相比较 var 的不同点
只在它所在的代码块有效;
只能先声明后使用,不存在变量提升;
在其声明所在的代码块,不受外部影响,形成暂时性死区;
不能重复声明;
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/82181.html
摘要:与也是用来声明变量,但是不同于,个人理解是它是用来修复的一些神奇效果,似的变量更加规范,简单来说定义的变量就是私有变量,有以下几点作用声明的变量只在它所在的代码块中生效即它的块级作用域中生效对于循环的块级作用域,当声明循环体时,有两个特点声 let与const let 也是用来声明变量,但是不同于var,个人理解是它是用来修复var的一些神奇效果,似的变量更加规范,简单来说let定义的...
摘要:变量的解构赋值更加便利的从匿名对象或者数组中,对变量进行赋值数组的解构赋值基本样式,右边数据类型必须是可迭代的类型。 变量的解构赋值 更加便利的从匿名对象或者数组中,对变量进行赋值; 数组的解构赋值 基本样式,右边数据类型必须是可迭代的类型。 let a = 1, b = 2, c = 3; //等价于 //let [a, b, c] = [1, 2, 3]; 对...
摘要:原文地址一个非常适合入门学习的博客项目前端掘金一个非常适合入门学习的项目,代码清晰结构合理新闻前端掘金介绍一个由编写的新闻。深入浅出读书笔记知乎专栏前端专栏前端掘金去年的一篇老文章,恰好今天专栏开通,迁移过来。 破解前端面试(80% 应聘者不及格系列):从闭包说起 - 掘金修订说明:发布《80% 应聘者都不及格的 JS 面试题》之后,全网阅读量超过 6W,在知乎、掘金、cnodejs ...
摘要:原文地址一个非常适合入门学习的博客项目前端掘金一个非常适合入门学习的项目,代码清晰结构合理新闻前端掘金介绍一个由编写的新闻。深入浅出读书笔记知乎专栏前端专栏前端掘金去年的一篇老文章,恰好今天专栏开通,迁移过来。 破解前端面试(80% 应聘者不及格系列):从闭包说起 - 掘金修订说明:发布《80% 应聘者都不及格的 JS 面试题》之后,全网阅读量超过 6W,在知乎、掘金、cnodejs ...
摘要:原文第一章主要介绍的大概情况基本语法。通过和来引用对象属性或数组元素的值就构成一个表达式。 原文:https://keelii.github.io/2016/06/16/javascript-definitive-guide-note-0/ 第一章 主要介绍 JavaScript 的大概情况、基本语法。之前没有 JavaScript 基础的看不懂也没关系,后续章节会有进一步的详细说明...
阅读 3725·2021-08-11 11:16
阅读 1568·2019-08-30 15:44
阅读 1972·2019-08-29 18:45
阅读 2238·2019-08-26 18:18
阅读 931·2019-08-26 13:37
阅读 1516·2019-08-26 11:43
阅读 2057·2019-08-26 11:34
阅读 324·2019-08-26 10:59