zoukankan      html  css  js  c++  java
  • 闭包

    闭包1

    每次执行ff()的时候实际上执行的是f1内部的函数

    闭包2

    闭包3

    function f1(){

        for(var i = 0; i < 10; i++) {

            setTimeout(function() {

                console.log(i);

            }, 1000)

        }

    }

    f1();

    打印出1010

    对于闭包3如果要想改造一下输出0到9,以下两种是可行的

    1.内部改造成立即执行函数

    function f1(){

        for(var i = 0; i < 10; i++) {

            (function(num){setTimeout(function() {

                console.log(num);

            }, 1000)})(i);

        }

    }

    f1();

    打印出09

    2.对于for里面的var改成let,闭包本身是那个变量占用内存不释放的,如果用块级作用域可以解决

  • 相关阅读:
    mongodb数据库shell
    PLINK pca
    xgboost 安装
    tensorflow之损失函数
    php,mysql存储过程的简单例子
    ECharts初体验
    mysql常用连接查询
    php流程控制
    php循环
    高效率php注意事项
  • 原文地址:https://www.cnblogs.com/dylAlex/p/11002278.html
Copyright © 2011-2022 走看看