js 作用域链

作者: 小李不小 | 来源:发表于2019-04-06 17:58 被阅读3次

什么是作用域链 

其实了解了作用域快,你学习作用域链的时候,你就会接受快很多,

当a 创建函数的时候,分为两部 

1,先定义  ---- 会产生一个 [[scope]] 这个东东就是用来装 作用域的集合的,在scope里面生成一个go 全局的 变量环境

2,后执行 ---- 执行的a的时候,会在函数内部  [[scope]]  创建一个 ao  这个ao就是装函数内部变量的。

然后定义b 在执行b 

定义b函数的时候,也会产生一个 [[scope]] 这个时候会继承 a ao 和 全局 go ,执行b函数的时候会产生 内部 [[scope]] 的 新的 b.ao 继承 a.ao  全局go

执行c的时候,跟b的情况一样,我这里就不写了,这多是一些理念性的东西。

function a(){ function b(){ console.log(cc); function c(){ var cc=123; } c() } b() } a(); a undefind a[[scope]] ==> go a doing a.[[scope]]==> 0 a.ao: 1 go b undefind b[[scope]] ==> 0 a.ao 1 go b doing b[[scope]] ==> 0 b.ao 1a.ao 2go c undefind c[[scope]] ==> 0 a.ao 1 b.ao 2 go c doing c[[scope]] ==> 0 c.ao 1 a.ao 2 b.ao 3 go

相关文章

  • 干货!月薪80k前端大佬面试笔记:JS闭包解析!

    三点注意事项 JS没有块级作用域,只有全局作用域和局部作用域(函数作用域)。 JS中的作用域链,内部的作用域可以访...

  • JS 作用域链、导入导出

    1. JS 的作用域链 作用域在 JS 中表示变量的可访问性和可见性。JS 作用域有 3 种:1. 全局作用域;2...

  • 闭包

    一、理解闭包前js基础1、作用域链(作用域、作用域链中有说)。2、js的内存回收机制。一个函数在执行开始的时候,会...

  • 作用域和作用链

    关键词:作用域作用链 作用域 js中没有块级作用域 全局作用域,函数作用域太简单,就不演示(≧▽≦)/啦啦啦 作用...

  • 2018-12-18

    JS高级 作用域&作用域链 作用域: 1.作用域的个数:n(函数声明的个数)+1(全局作用域)2.作用域不会存储变...

  • 浅谈JS作用域链

    浅谈JS作用域链 作用域 作用域(scope)就是变量访问规则的有效范围。作用域外,无法引用作用域内的变量;离开作...

  • JS博客

    JS构造函数及new运算符 JS原型对象和原型链 函数作用域和作用域链 干货分享:让你分分钟学会JS闭包 深入理解...

  • JS进阶系列

    在JS入门难点解析系列中,我们对JS的一些重要概念,比如:作用域,作用域链,原型,原型链,继承,活动对象,this...

  • js 作用域链 和 原型链

    作用域链 js拥有全局作用域(window)、函数作用域、块级作用域(es6)。块级作用域是es6开始才拥有的,因...

  • JavaScript 函数闭包(colsure)

    理解闭包,你首先必须理解JS的变量作用域,JavaScript作用域和作用域链。 ES6之前,变量的作用域分为全局...

网友评论

    本文标题:js 作用域链

    本文链接:https://www.haomeiwen.com/subject/qezriqtx.html