美文网首页
2019-05-13 es6 let解决异步事件的原理

2019-05-13 es6 let解决异步事件的原理

作者: DreamNeverDie | 来源:发表于2019-05-13 15:27 被阅读0次

es6 let 与var相比区别是,let在每一个for的每一个循环下都创建一个独立的i,如下列

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
            window.onload=function(){
                var aBtn=document.getElementsByTagName('input')
                 for(let i=0;i<aBtn.length;i++){
                    aBtn[i].onclick=function(){
                        alert(i)
                    }            
            }
            
    </script>
<input type="button"  value="a"/>
<input type="button"  value="b"/>
<input type="button"  value="c"/>
</body>
</html>

等价于如下,这里使用了包装函数,就可以让每次循环都有一个独立的i

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
            window.onload=function(){
                var aBtn=document.getElementsByTagName('input')

                for(var i=0;i<aBtn.length;i++){
                    (function(i){
                        aBtn[i].onclick=function(){
                        alert(i)
                    }
                    })(i)
                }
            }
            
    </script>
<input type="button"  value="a"/>
<input type="button"  value="b"/>
<input type="button"  value="c"/>
</body>
</html>

相关文章

  • 2019-05-13 es6 let解决异步事件的原理

    es6 let 与var相比区别是,let在每一个for的每一个循环下都创建一个独立的i,如下列 等价于如下,这里...

  • 深入理解ES6 ---- let const

    es5中使用在for-in for-of循环中注册异步事件,异步事件中的i总是最后一个值。使用es6的let co...

  • 对于ES6 promise和ES7 async、await的理解

    promise ES6提出 用于解决异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。...

  • ES6——promise(一) 学习笔记

    ES6 Promise 对象 Promise 是异步编程的一种解决方案,比传统的解决方案回调函数和事件更合理强大。...

  • 【ES6】let

    let的作用是声明变量,和var差不多。let是ES6提出的,在了解let之前,最好先熟悉var的原理。 Java...

  • Promise介绍及jQuery deferred详解

    Promise介绍 Promise 是 JavaScript 的异步操作解决方案,是ES6提出的异步操作解决方案之...

  • Promise

    简介 Promise是一种异步编程的解决方案,比传统的解决方案-- 回调行数和事件更加的合理和强大,ES6将其写进...

  • Promise

    1.含义 Promise是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更加合理和强大,es6原生...

  • ES6 Promise

    Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大 ES6 规定,Pr...

  • 2020-03-14 vue-promise一些简单记录

    promise ES6特性,用来解决异步回调问题。

网友评论

      本文标题:2019-05-13 es6 let解决异步事件的原理

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