typescript 学习(8)—— 函数

函数返回值

语法格式:

function function_name():return_type { 
    // 语句
    return value; 
}
  • return_type 是返回值的类型

  • return 关键词后跟着要返回的结果。

  • 一个函数只能有一个 return 语句。

  • 返回值的类型需要与函数定义的返回类型(return_type)一致

例.

function getLength(thing:string):number{
    return thing.length;
}

带参数函数

语法格式:

function func_name( param1 [:datatype], param2 [:datatype]) {   
}
  • param1、param2 为参数名。

  • datatype 为参数类型。

例.

function add(x: number, y: number): number {
    return x + y;
}
console.log(add(1,2))

可选参数和默认参数

可选参数:在 TypeScript 函数里,如果我们定义了参数,则我们必须传入这些参数,除非将这些参数设置为可选,可选参数使用问号标识?

如何参数不设置为可选的,(或者参数没有设置默认参数)则参数设置了几个,就需要传递几个参数(不能多也不能少)

可选参数例:

function buildName(firstName:string, lastName?:string):string {
    return firstName + lastName;
}

默认参数

语法如下:

function function_name(param1[:type],param2[:type] = default_value) { 
}

*****************     参数不能同时设置为可选和默认!     *****************

扩展:什么是 void 0 ?

undefined === void 0;  // true

void是一元运算符,出现在操作数的左边,操作数可以是任意类型的值,void右边的表达式可以是带括号形式(例如:void(0)),也可以是不带括号的形式(例如:void 0)。 

使用void 0代替undefined的原因是?(总结:(1)防止被重写外,(2)可以减少字节)

使用void 0比使用undefined能够减少3个字节

>"undefined".length
9
>"void 0".length
6

undefined并不是javascript中的保留字,我们可以使用undefined作为变量名字,然后给它赋值。void 0输出唯一的结果undefined,保证了不变性

4. undefined与null的区别?

null代表空值,代表“定义了但是为空”。而undefined的代表未定义。

 

剩余参数

eg.

function buildName(firstName: string, ...restOfName: string[]) {
    return firstName + " " + restOfName.join(" ");
}
  
let employeeName = buildName("Joseph", "Samuel", "Lucas", "MacKinzie");

Lambda 函数(箭头函数)

语法:

( [param1, parma2,…param n] )=>statement;

例.

var foo = (x:number)=> {    
    x = 10 + x 
    console.log(x)  
} 
foo(100)

函数重载

重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。

每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。

参数类型不同:

function disp(string):void; 
function disp(number):void;

参数数量不同:

function disp(n1:number):void; 
function disp(x:number,y:number):void;

参数类型顺序不同:

function disp(n1:number,s1:string):void; 
function disp(s:string,n:number):void;

如果参数类型不同,则参数类型应设置为 any。

参数数量不同你可以将不同的参数设置为可选。

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值