1.流程控制

  计算机执行程序的时候,是按照从上到下,从左到右,逐行进行。

  常见的流程: 

顺序
        分支
        循环

  分支结构:

单分支
      语法结构
      if(表达式){
        代码块
      }

      执行逻辑:当程序遇到if结构,首先判断表达式的值,如果表示的值为真,则执行{}里面的代码块,如果表达式的

      值为假,则直接跳过if结构(不执行大括号里的代码块。)

var a = 3;
      if(a > 2){
        console.log(a);
      }

    二分支

语法结构
      if(表达式){
        代码块1
      }else{
        代码块2
      }

    多分支

语法结构
      if(表达式){
        代码块1
      }else if(表达式2){
        代码块2
      }else if(表达式3){
        代码块3
      }

      执行逻辑:当程序遇到 if - else if结构时,首先会计算表达式1的值,如果表达式1为真,则执行代码块1,如果表达式1为假

      继续判断表达式2的值,blablabla.

 

var a = 60;
      if(a>80){
        console.log(“优秀”);
      }else if(a>=60){
        console.log(“及格”);
      }else{
        console.log(“不及格”)
      }

  switch-case语句

 

语法结构
      switch(val值){
        case val_1:代码块1;
          break;
        case val_2:代码块2;
          break;
        case val_3:代码块3;
          break;
        }

循环结构

while语句
    语法结构
    while(条件表达式){
    //循环语句
    }
    var a = 0;
    while(a<10){
    console.log(a);
    a++
    }

do-while语句

  语法结构

do{
  //循环语句
  }while(循环条件)
while和do-while的区别 
  while循环先判断,后执行
  do-while 循环 先执行,后判断
  do-while 至少执行此意循环语句,而while不一定

for语句

  语法结构:

  

for(表达式1;表达式2;表达式3){
  //循环语句
  }

  执行逻辑:

  首先执行表达式1

  判断表达式2,如果值为真,则执行循环语句,如果值为假,跳出循环

  执行循环语句之后,再执行表达式3

  回到第二部,继续判断表达式2

跳出循环

  break 直接跳出当前循环

  continue 直接跳过本次循环(continue 关键字一下的循环语句不再执行),继续下次循环

    

for(var a:number = 0; a< 10;a++){
      if(a==5){
        break;
      }
    console.log(a);
     }

函数

    函数是ts程序中基本的功能模块,简单的理解的就是函数是对功能的封装

    定义函数

      语法

      

function add(n1: number,n2: number) : number{
        return n1+n2;
      }

      注意:return关键字有两个作用:

        作为结果的返回关键字。

调用函数

 

add(3,5);

  注意:

    声明(定义)一个函数必须使用function关键字

    函数名和变量名一样,命名规则按照标示符的规则。

    声明函数参数可有可无,多个参数之间用,号隔开

    函数的返回值可有可无,如果没有手动设置,则返回值类型为viod;

    大括号内为函数体。

函数的参数

  形参(函数定义的时候写的参数就是形参)从字面意思可以看出,形参就是形式上的参数。

  实参(调用函数的时候,传递的具体值就是实参)从字面意思可以看出,实参就是实际上的具体值。  

形参和实参

  在函数调用的时候,我们需要按照形参的规则传递实参,有几个形参就要传递几个实参并且每一个实参的数据类型都要形参的数据类型一致。

有可选参数的函数

  

//函数有两个形参,假设第一个比传,第二可传可不传
  fuction add(n1:number,n2?:number): number{
  
  }
  add();//报错,参数个数不匹配
  add(1);//正确
  add(1,2);//正确

有默认参数的函数

  当函数有可选参数时,我们必须检测参数是否被传递,我们还可以使用默认参数来解决参数不确定的情况。

 

function add(n1:number,n2:number=3): number{
  return n1+n2;
  }
  add();//报错
  add(1);//正确,结果是4
  add(1,2);//正确,结果是3

有剩余参数的函数

  

function add(...num:number[]):number{
    var sum = 0;
    for(var i : numer = 0;i<num.length;i++){
      sum += num[i];  
    }
  }
  //调用
  add();//正确
  add(1);//正确
  add(1,2);//正确

函数的定义方法

  函数声明法

    

function add(n1:number,n2:number): number{
    
    }

  函数的表达式法

    

var add = function(n1:number,n2:number): number{
      return n1+n2;
    }

  箭头函数

    

var add = (n1:numer,n2:number):number => {
      return n1+n2;