【TS】 函数

TS 函数

1. 定义与调用函数

function fo() {
    
       // 函数定义
    console.log("调用函数") 
} 
fo()              // 调用函数

2. 有返回值的函数

type是返回值的类型,return关键词后跟着要返回的结果。

function fo():type{
    
     
    return value; //返回值的类型需要与函数定义的返回值类型(type)一致。
}

3. 带参数的函数

// p1、p2 为参数名,type 为参数类型
function fo( p1 [:type], p2 [:type]) {
    
     ... }

示例:参数固定时,传入的参数 过多缺少 都会报错。

function add(p1: number, p2: number): number {
    
    
    return p1 + p2;
}
console.log(add(1)); // 错误,参数缺少
console.log(add(1,2)); // 正确 3
console.log(add(1,2,3)); // 错误,参数过多

4. 可选参数

? 问号标识可选参数。

function test(p1: string, p2?: string) {
    
    
	return p2 ? p1 + " " + p2 : p1;
}
let result1 = test("AAA");                // 正确
let result2 = test("AAA", "BBB", "CCC");  // 错误,参数太多了
let result3 = test("AAA", "BBB");         // 正确

//可选参数必须跟在必须参数后面。
//如果想要p1是可选的,p2是必选的,那就要调整他们的位置,把p1放到后面。
//如果都是可选参数,就没关系。

5. 默认参数

设置参数的默认值后,如果调用时不传入该参数的值,则使用默认参数。

function fo(p1 [:type], p2 [:type] = default_value) {
    
     ... }

注:参数不能同时设置为可选和默认。

6. 剩余参数

有一种情况,当不知道要向函数传入多少个参数,就可以使用剩余参数来定义。

剩余参数语法,允许我们将一个不确定数量的参数作为一个数组传入。

function fo(p1: string, ...ppp: string[]) {
    
    
    return p1 + " " + ppp.join(" ");
}
let fos = fo("AAA", "BBB", "CCC", "DDD");

//函数的最后一个命名参数ppp以...为前缀,将成为一个由剩余参数组成的数组。
//索引值从0(包括0)到ppp.length(不包括)。

7. 匿名函数

匿名函数即是一个没有函数名的函数。

匿名函数在程序运行时动态声明,除了没有函数名以外,其他的与标准函数一样。

//可以将匿名函数赋值给一个变量,这种表达式就成为函数表达式。
var res = function([arguments]){
    
     ... };

7.1 不带参数的匿名函数:

var res = function() {
    
     
    return "hello world";  
} 
console.log(res())

7.2 带参数匿名函数:

var res = function(p1: number, p2: number) {
    
     
    return p1*p2;  
} 
console.log(res(12,2))

7.3 匿名函数自调用

匿名函数自调用在函数后使用()即可:

(function () {
    
     
    console.log("Hello!!")     
 })()

猜你喜欢

转载自blog.csdn.net/qq_53931766/article/details/125319965
ts