闭包的使用

简介: 闭包的使用
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <button>按钮1</button>
    <button>按钮2</button>
    <button>按钮3</button>
    <button>按钮4</button>
    <button>按钮5</button>
    <!-- <script src="../vue.js"></script> -->
    <script >
        var btns = document.getElementsByTagName('button')
        for (var i = 0; i < btns.length; i++) {
            //只有函数有作用域
            //i会传给aaa当值
            (function (aaa) {
                btns[aaa].addEventListener('click', function () {
                    console.log('第' + (++aaa) + '个按钮被点击')
                })
            })(i)
        }

        // let有作用域,var没有   所以访问不到a
        {
            let a = 1
            console.log(a)//1
        }
        // console.log(a)//ncaught ReferenceError: a is not defined

        // let有作用域,var没有    所以可以访问到aa
        {
            var aa = 88
            console.log(aa)//88
        }
        console.log(aa)//88
        
        //没加类型默认加window.   全局变量
        aaa = 2
        console.log(aaa)//2
    </script>
</body>

</html>
目录
相关文章
|
8月前
|
JavaScript 前端开发
对闭包的理解以及使用
对闭包的理解以及使用
26 1
|
10月前
|
存储 缓存 前端开发
详解 Reat 中的闭包问题
JavaScript 中的闭包一定是最可怕的特性之一。 即使是无所不知的 ChatGPT 也会告诉你这一点。 它也可能是最隐秘的语言概念之一。 每次编写任何 React 代码时,我们都会用到它,大多数时候我们甚至没有意识到。 但最终还是无法摆脱它们:如果我们想编写复杂且高性能的 React 应用程序,我们就必须了解闭包。
82 0
详解 Reat 中的闭包问题
|
设计模式 自然语言处理 JavaScript
一篇文章帮你真正理解javascsript作用域闭包
一篇文章帮你真正理解javascsript作用域闭包
66 0
|
自然语言处理 前端开发 JavaScript
作用域闭包
作用域闭包
64 0
|
前端开发
闭包
前端面试
|
存储 缓存 JavaScript
深入理解作用域和闭包(下)
深入理解作用域和闭包(下)
深入理解作用域和闭包(下)
|
存储 JavaScript 前端开发
深入理解作用域和闭包(上)
深入理解作用域和闭包(上)
深入理解作用域和闭包(上)
|
PHP 开发者
匿名函数闭包|学习笔记
快速学习匿名函数闭包
97 0
匿名函数闭包|学习笔记
|
自然语言处理 JavaScript
你真的懂闭包么?
前言 本文主要总结一下 到目前为止对闭包的理解. 好几年之前学习闭包的时候模模糊糊,看了网上的一些帖子,理解为:函数内部可以使用函数外部的变量,后面看了你所不知道的JS,以为自己懂了,后面面试的时候又感觉自己不懂了,而今感觉自己真正懂了==,特此记录一下。
111 0