07 2021 档案

摘要:1. 定义 作用域是静态的(相对于执行上下文来说),也就是在写代码的时候就决定好了。作用域分为全局作用域和函数作用域。ES6新增块级作用域。 作用:隔离变量。不同作用域下同名变量定义不会冲突。 var a = 1 function fn() { var a = 2 } 这里外层的a存在于全局作用域中 阅读全文
posted @ 2021-07-14 23:01 北诗远 阅读(71) 评论(0) 推荐(0)
摘要:1. 变量提升-函数声明提升的本质 在js代码中,通过var定义的变量或者是通过function声明的函数为什么能在定义之前就调用呢?在上一节中我们知道js引擎存在变量提升机制,那么变量提升的本质是什么呢? 本质:执行上下文 2. 什么是执行上下文 执行上下文就是我们写的js代码在执行前js引擎帮我 阅读全文
posted @ 2021-07-14 22:01 北诗远 阅读(62) 评论(0) 推荐(0)
摘要:1. 变量提升 代码: console.log(a) // undefined var a = 1 在这段代码中,在声明a这个变量之前直接打印a的值,输出的是undefined,而undefined说明a已定义,但尚未赋值。这说明在log输出之前我们的a就已经被声明过了。这就是变量提升。 伪代码: 阅读全文
posted @ 2021-07-14 18:11 北诗远 阅读(51) 评论(0) 推荐(0)