2020年6月25日

484 闭包作用域,闭包的两个作用

摘要: 创建函数 开辟一个堆内存 把函数体中的代码当做字符串存储进去 把堆内存的地址赋值给函数名/变量名 函数在哪创建,那么它执行时候,所需要查找的上级作用域就是谁 【不看在哪执行。】 函数执行 形成一个全新的私有作用域、执行上下文、私有栈内存(执行一次形成一个,多个之间也不会产生影响) 形参赋值 & 变量 阅读全文

posted @ 2020-06-25 21:10 冲啊! 阅读(218) 评论(0) 推荐(0) 编辑

483 作用域链机制

摘要: 作用域链查找机制,关键在于如何查找上级作用域: 1、从函数创建开始,作用域就已经指定好了; 2、当前函数是在哪个作用域(N)下创建的,那么函数执行形成的作用域(M)的上级作用域就是N,**和函数在哪执行无关,只和创建的位置有关**。 var n = 1; function fn() { var n 阅读全文

posted @ 2020-06-25 21:08 冲啊! 阅读(182) 评论(0) 推荐(0) 编辑

482 私有栈内存处理

摘要: 闭包:函数执行形成的私有栈内存,会把内存中的所有私有变量都保护起来,和外面没有任何关系,函数的这种保护机制就是闭包 console.log(a, b); var a = 12, b = 12; function fn() { console.log(a, b); var a = b = 13; co 阅读全文

posted @ 2020-06-25 21:07 冲啊! 阅读(119) 评论(0) 推荐(0) 编辑

481 let、const和var的区别

摘要: 1.let和const不存在变量提升机制 创建变量的六种方式中:var/function有变量提升,而let/const/class/import都不存在这个机制 2.var允许重复声明,而let是不允许的 在相同的作用域中(或执行上下文中) 如果使用var/function关键词声明变量并且重复声 阅读全文

posted @ 2020-06-25 21:05 冲啊! 阅读(102) 评论(0) 推荐(0) 编辑

480 重复声明

摘要: var a = 12; var a = 13; console.log(a); // => 13 // let a = 12; let a = 13; // => Uncaught SyntaxError: Identifier 'a' has already been declared conso 阅读全文

posted @ 2020-06-25 21:03 冲啊! 阅读(105) 评论(0) 推荐(0) 编辑

导航