当前位置:网站首页>TS 函数
TS 函数
2022-07-19 05:06:00 【实习森】
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!!")
})()
边栏推荐
- Study diary 1
- Process to thread and incoming thread communication
- scroll系列
- 5. Two ways of writing el and data
- [learning notes] operation summary of "STL speech contest process management system"
- Easily master | struct structure | knowledge points
- 【js】浅拷贝与深拷贝
- 66-[重点]v-for指令的key属性
- [Nodejs]Nodejs创建一个简单的服务器
- Supplement: ES6 knowledge points
猜你喜欢
Easier to use C language entry-level cheese (3) common keywords +define+ pointer + structure (super detailed)
15. Built in instructions
JS如何判断当前日期是否在某个范围内
C language to achieve basic version of mine sweeping
Using C to realize three versions of address book
Shell Scripting
【数据库基础】MySql基础总结
Study diary - pointer topic
简单的本地图片服务器的搭建
Page search highlighting function, the page automatically matches keywords, scrolls to the middle of the screen, and highlights.
随机推荐
5. Two ways of writing el and data
Easily master | struct structure | knowledge points
91-弹框案例——父传子——子传父
8. Event handling - event modifier
Part 59: main c:62:9: note: use option -std=c99 or -std=gnu99 to compile your code
Interesting minesweeping game, C language programming
[智力题]面试智力题
83-局部组件的复用[父传子]
8.事件处理——事件修饰符
宏任务、微任务 和 事件循环机制
【js】var 和 let 在 for 循环中的不同反应
How is data stored in memory?
3.数据绑定
Application of learning diary 5-c language function
15. Built in instructions
[Nodejs]Nodejs创建一个简单的服务器
正则表达式(用户名表单验证/验证座机号码/正则替换replace)
C language structure knowledge sharing
【测试技术-性能测试-Loadrunner】Loadrunner常用函数详解
75-局部自定义指令——bind和update方法