美文网首页
函数作用域链

函数作用域链

作者: 一休小施主 | 来源:发表于2019-03-17 14:46 被阅读0次

# 作用域链

p 1. 函数在执行的过程中,先从自己内部找变量

    2. 如果找不到,再从创建当前函数所在的作用域去找, 以此往上

    3. 注意找的是变量的当前的状态

例如: 

题目中 fn中,返回fn3 的值,fn3 调用了fn2 ,fn2中没有a的赋值, 其上层a的赋值是2, 所以 fn输出结果是 2.

fn1 调用了fn3, fn3 调用了了fn2,最后返回值是fn2, fn2中没有对a赋值,其上层对a赋值为1,所以fn 输出为1.

相关文章

  • 作用域链

    作用域链(scope chain) 理解: 作用域链决定了哪些数据能被函数访问。当一个函数创建后,它的作用域链会被...

  • 作用域链&闭包&函数相关

    作用域链 在JS中函数可以创建作用域; 函数中又可以创建函数(可以开辟新的作用域); 函数内部的作用域可以访问外部...

  • 作用域、作用域链(个人学习笔记)

    图解作用域、作用域链 作用域链形成过程: 总结: 函数在创建时会取得当前作用域的执行期上下文,当函数执行时...

  • 前端JS基础三(作用域 闭包)

    作用域 作用域链 注意:函数的父级作用域是函数定义时候的作用域,不是函数执行时候的作用域,也就是说那个作用域定义了...

  • 作用域链

    作用域链 把多个作用域串起来便形成了作用域链;每个函数在初始化完成之后就拥有了各自的作用域链,但此时的作用域链中并...

  • 函数表达式---作用域的问题

    函数表达式的作用域为在函数定义时的作用域,只要b函数存在,a函数的作用域永远不会消失。b函数的作用域链中永远带有a...

  • JS_0: 执行环境和作用域链

    JavaScript,目前对于执行环境和作用域链的理解 什么是作用域链? 要讲作用域链就得先讲执行环境。 每个函数...

  • 作用域

    JavaScript以函数为作用域。 2 作用域在被调用之前,已经被创建了。 3 函数的作用域存在作用域链,也是在...

  • 作用域和闭包

    作用域链 (据我所知)所有的编程语言都存在作用域链。整个代码存在全局作用域、函数作用以及块级作用域。 上述代码将会...

  • 作用域、作用域链、闭包、面向对象、执行上下文

    作用域 作用域链 函数的提前声明 闭包 JavaScript 闭包与类(原型链)之间的开发方式 构造函数和普通函数...

网友评论

      本文标题:函数作用域链

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