P7 P8 Dart 函数,函数的定义 可选参数 默认参数 命名参数 箭头函数 匿名函数 闭包等

1.方法定义

//1.入口方法为main方法
//2.自定义方法可以放在main方法内部(使用的时候要在方法下面),也可以在外部
//3.方法里面可以嵌套方法,但功能只是在局部作用域

int sumNum(int n){
  var sum = 0;
  for(var i=0;i<n;i++){
    sum += i;
  }
  return sum;
}

2.函数

形参(方法的参数) 实参(执行方法时候的参数)
//[] 里面的参数是可选参数,默认参数 sex= ‘男’
//String sex='男' 这个叫做默认参数,这里默认参数是写在可选参数内的,默认参数必传,
//如果使用命名参数,在可选参数里就可以不必传了

 //可选参数,默认参数
String printUserInfo(String name,[String sex='男',int age]){
  if(age != null){
    return "name年纪$age";
  }else{
    return "name年纪未知";
  }
}
//调用
  print(printUserInfo("name",null,3));


//命名参数
String printUserInfo1(String name,{String sex='男',int age}){
  if(age != null){
    return "name年纪$age";
  }else{
    return "name年纪未知";
  }
}
//调用
  print(printUserInfo1("name",age: 21));

其他:方法当做参数的

箭头函数:你不能写多句话,只能写一句话

var myList = ['1','2','3'];
myList.forEach((value){
    print(value);
});
print("=======");
myList.forEach((value)=>print(value));
myList.forEach((value)=>{
 print(value)
});

自执行方法

(n){
  print(n);
}(100);

全局变量 局部变量

3.闭包

// 解决问题:常驻内存,不污染全局(有全局变量和局部变量的特点)
//方法里面嵌套一个方法,并且返回这个方法就是一个闭包

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

main函数中调用

var b = fuc();
fuc()();  //124
fuc()(); //124
fuc()();//124
b();//124
b();//125
b();//126
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 7,969评论 2 9
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,127评论 0 3
  • 一、函数 函数用于将代码结构化,将复杂的问题简单化,实现根据功能拆分程序,使得代码可以实现复用。 Dart 中的入...
    陌问MW阅读 5,613评论 0 7
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 10,150评论 0 5
  • 函数只定义一次,但可能被执行或调用任意次。JS函数是参数化的,函数的定义会包括一个称为形参的标识符列表,这些参数在...
    PySong阅读 3,627评论 0 0