美文网首页
7.Dart-闭包和箭头函数

7.Dart-闭包和箭头函数

作者: 你的胡霸霸 | 来源:发表于2021-09-05 21:22 被阅读0次

    main(List<String> args) {

      print("object");

      // 匿名函数

      var func1 = (String name, int age) {

        print("$name, $age");

      };

      func1("张三", 20);

      // 箭头函数, Dart里面的箭头函数和js的不一样,Dart里面的箭头函数花括号体里面只能是一句话,可以省略花括号

      var l = [1, 2, 3, 4];

      var l1 = l.map((e) => e * 3).toList();

      print("l1 = $l1");

      (int a, int b) {

        var s = a + b;

        print("自执行函数 a + b = $s");

      }(3, 5);

    // 闭包

    // 闭包:

    //  1.全局变量特点: 全局变量常驻内存,会污染全局

    //  2.局部变量特点: 不常驻内存,会被垃圾回收机制回收,不会污染全局

    //  为了实现既常驻内存,又不污染全局, 出现了闭包

    //  闭包:函数嵌套函数, 内部函数会调用外部函数的变量或者参数, 变量或者参数不会被系统回收

    //  闭包的写法: 函数嵌套函数, 并return李曼的函数, 这样就形成了闭包

      // 自执行方法

      xxx() {

        var a = 100;

        return () {

          print(++a);

        };

      }

      var c = xxx();

      c(); //101

      c(); //102

      c(); //103

      c(); //104

    }

    相关文章

      网友评论

          本文标题:7.Dart-闭包和箭头函数

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