八、函数及相关

1  函数

  和C语言一样,函数由返回值,函数名,函数体组成

  int getNum(){}

  方法调用,使用方法名调用即可

  getNum();

 

2  参数

  不指定类型参数

  int sumNum(n){}

  指定类型参数,和C语言一摸一样

  int sumNum(int n,String str){}

 

3  可选参数

  中括号内的参数可传可不传

  String getUser(String name,[int age,String sex]){}

  getUser('张三');

  getUser('张三','男');

 

4  带默认参数

  String getUser(String name,[int age,String sex = ‘男’]){}

  getUser('张三',20,'女');

 

5  命名参数

  String getUser(String name,{int age,String sex = ‘男’}){}

  getUser('张三',age:20,sex:'女');

 

6  方法作为参数

  a(){
    print("aaaa");
  }

  fn(aaa){
    aaa();
  }

  fn(a);

 

7  匿名方法

  var fn=(int n){
    print("这是个匿名方法"+n);
  };

  fn(1);

  

8  箭头函数(注意:方法体只能写一句话,并且不要加分号)

  List items = [1,2,3,4];
  var newList = items.forEach((value)=>print(value));

  

  List items = [1,2,3,4];
  var newList = items.forEach((value)=>{
    print(value)
  });

 

9  自执行方法

  ((){
    print("这是自执行方法");
  })();
  //带参数
  String str = 'aaaa';
  ((String args){
    print("$args");
  })(str);

 

10  闭包

  闭包的产生及作用:

  全局变量特点:  全局变量常驻内存,全局变量污染全局

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

  闭包产生:常驻内存,不污染全局

  闭包本质:函数嵌套函数,内部函数会调用外部函数的变量或参数。

  fn(){
    var a=123;
    return (){
      a++;
      print(a);
    };
  }
  var b = fn();
  b();
  b();
  b();

 

posted @ 2022-05-26 10:58  WaterGe  阅读(17)  评论(0编辑  收藏  举报