当前位置: 首页 > news >正文

Typescript 笔记:函数

1 函数定义

function function_name()
{// 执行代码
}

2 函数返回值

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

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

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

3 函数参数

function func_name( param1 :datatype1, param2 :datatype2) {   
}
  • param1、param2 为参数名。

  • datatype1、datatype2 为参数类型。

3.1 可选参数

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

function func_name( param1:datatype1, param2?:datatype2) {   
}

3.2 默认参数

function func_name( param1:datatype1, param2:datatype2=dafault_value) {   
}

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

3.3 rest操作符

Javascript笔记 rest VS spread_UQI-LIUWJ的博客-CSDN博客

4 匿名函数

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

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

我们可以将匿名函数赋值给一个变量,这种表达式就成为函数表达式。

var res = function( [arguments] ) { ... }

举例:

var msg = function() { return "hello world";  
} 
console.log(msg())
//hello world
var res = function(a:number,b:number) { return a*b;  
}; 
console.log(res(12,2))
//24

4.1 匿名函数自调用

(function() { return "hello world";  
})()
//'hello world'

 5 构造函数

支持使用 JavaScript 内置的构造函数 Function() 来定义函数

var res = new Function ([arg1[, arg2[, ...argN]],] functionBody)
  • arg1, arg2, ... argN:参数列表。
  • functionBody:一个含有包括函数定义的 JavaScript 语句的字符串。‘

举例:

var myFunction = new Function("a", "b", "return a * b"); 
var x = myFunction(4, 3); 
console.log(x);
//12

6 箭头函数(lambda函数)

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

前面的

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

可以写成 

var msg = () => {return "hello world"};
console.log(msg())
//hello world

内容:TypeScript 函数 | 菜鸟教程 (runoob.com)

http://www.lryc.cn/news/187838.html

相关文章:

  • Axios 封装
  • CocosCreator 面试题(一)Javascript的垃圾回收机制
  • 【计算机网络】UDP协议编写群聊天室----附代码
  • Java架构师高并发架构设计
  • 【客观赋权法1】熵权法(MATLAB全代码)
  • “注释: 爱恨交织的双重标准?解析注释在代码开发中的作用。”
  • 一种基于局部适应度景观的进化规划的混合策略
  • Python数据攻略-Mongodb数仓无法写入方法汇总
  • 用什么工具来画UML?
  • SQLite3数据类型
  • K8S:K8S对外服务之Ingress
  • flask入门
  • 掌动智能:性能测试工具优势有哪些
  • 实现一个简单的线性回归和多项式回归(2)
  • 云原生Kubernetes:K8S集群kubectl命令汇总
  • Java使用模板导出word、pdf
  • 速通Redis基础(二):掌握Redis的哈希类型和命令
  • WebDAV之π-Disk派盘 + 书藏家
  • 香港Web3.0生态现状
  • LLMs之BELLE:源码解读(sft_train.py文件)
  • 【UE5 Cesium】17-Cesium for Unreal 建立飞行跟踪器(2)
  • 【ElasticSearch】基于 Java 客户端 RestClient 实现对 ElasticSearch 索引库、文档的增删改查操作,以及文档的批量导入
  • 【Node.js】stream 流模块
  • 【LeetCode】——链式二叉树经典OJ题详解
  • 代码注释对于程序员重要吗?
  • OpenHamony开发笔记一:在HarmonyOS虚拟机上运行openharmony工程
  • C++程序员入门需要怎么学?(InsCode AI 创作助手)
  • Intel 高性能库之IPP信号处理简介及下载(版本5.1,含32位和64位及注册)
  • 【C++】运算符重载案例 - 字符串类 ② ( 重载 等号 = 运算符 | 重载 数组下标 [] 操作符 | 完整代码示例 )
  • Vue脚手架开发流程