美文网首页前端面试
3-9 作用域和闭包--解题

3-9 作用域和闭包--解题

作者: 留白_汉服vs插画 | 来源:发表于2017-11-06 15:04 被阅读5次

变量定义,函数声明都会提前。

for循环结束后,添加了10个a标签,但是你点击事件时候,for循环已经结束了。这时候i的值为10,所以不管点击哪一个,都是打印10

这里alert(i)的时候,i是自由变量,往上父作用域找,是找到全局作用域,这时候已经是10了。执行完了再点,已经是10了。

这个是外面包了一层,把i传进去,作为函数作用域的变量。声明了10个函数,每个函数都存了一个i对应的值

这里是自执行函数,就是不用调用,只要定义完成,立刻执行的函数。

点击的时候,自由变量,还是在父级中找。第7行函数中的i(在9行),往上找,就是4的i,而4中的i,就是定义时候,12传进去的i。

面试问你作用域链怎么理解,这三个点必须要说

上面代码解析:定义了一个闭包,封装变量,收敛权限。16行,传入10,_List 还是空的,没有10,所以indexOf(10) 不存在,执行8行,返回true。第二次的时候,检查到10的索引为0,所以返回false。以下同理。

变量声明时候,_下划线表示私有。

相关文章

  • 3-9 作用域和闭包--解题

    变量定义,函数声明都会提前。 这里alert(i)的时候,i是自由变量,往上父作用域找,是找到全局作用域,这时候已...

  • 作用域和闭包

    目录 概述 作用域编译过程词法作用域全局作用域函数作用域 闭包循环和闭包闭包的用途性能 总结 概述 作用域和闭包一...

  • javaScript门道之闭包

    闭包的学习路径:变量的作用域 -> 闭包的概念 ->闭包的应用 1.变量的作用域 变量的作用域分为作用于全局和作用...

  • 2023-01-12

    变量提升调用栈块级作用域作用域链和闭包 闭包 => 作用域链(词法作用域) => 调用栈(栈溢出) => 上下文...

  • 闭包(closure)

    ● 闭包基础 ● 闭包作用 ● 闭包经典例子 ● 闭包应用 ● 闭包缺点 ● 参考资料 1、闭包基础 作用域和作...

  • 2018-01-07 关于javascript闭包和作用域的理解

    关于 javascript 闭包的一些思考 作用域 词法作用域 函数作用域 块作用域 闭包 什么是作用域? 作用域...

  • js作用域、闭包

    闭包 闭包作用 全局 局部 作用域链

  • 浓缩解读《JavaScript设计模式与开发实践》③

    三、闭包和高阶函数 3.1 闭包 3.1.1 变量的作用域 所谓变量的作用域,就是变量的有效范围。通过作用域的划分...

  • js闭包的理解

    什么是闭包 通俗的来讲,个人觉得闭包就是延长变量作用域的函数。众所周知js的作用域分为全局作用域和链式作用域。在函...

  • 14.JS基础之作用域与闭包

    作用域: 全局作用域 函数作用域 块级作用域(ES6新增) 常见的闭包有:作为函数返回值的闭包与作为函数参数的闭包...

网友评论

    本文标题:3-9 作用域和闭包--解题

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