Typescript函数
编程都是需要函数的,因为有了函数就能复用很多东西了。不仅仅能够复用代码,还能保持代码的简洁性和提高编程的逻辑性。
在原生的JavaScript中,函数的定义有三种,
function foo() {} // 直接声明
var foo = function() {} // 将函数赋值给变量
var Foo = {
a : function() {
}
} // 对象函数
那么在typescript当中,又是怎么样的呢?
1、第一种
function foo():string {
return 'hahaha'
}
var result = foo() // hahaha
这是普通的函数声明,直接返回hahaha。
2、第二种,形参
function foo(a:number):string {
return '这个数字是' + a
}
var result = foo(18) // 这个数字是18
在foo():string,后面的变量告诉该函数返回的是什么值,如果是string则返回的是string类型,如果是:number则返回的是number类型,如果不写,则默认为void类型。
在函数当中,在大括号里写的变量代表的是形参。
正如上诉代码
function foo(a:number):string () {
}
// a:number 代表的是形参
var result = foo(18) // 18代表的是实参,实际传入的参数
凡是有一定的JavaScript基础我们都知道,函数体写了几个形参,就必须传入几个参数,多一个少一个都不行,但是,在typescript中,可以选择性的传实参,这点是比较灵活。
有可选参数的函数,采用?标注
function person(age:number, name?:string) {
let a:string = ''
a = "find" + age + 'years old'
if(name != undefined) {
a = a + '' +name
}
return a + 'person'
}
var result = person(18); // find 18 years old
var result1 = person(18, 'does');
// find 18 does years old
console.log(result);
console.log(result1);
由上诉的例子可以知道,name作为可选参数,是可传可不传的。体现typescript的灵活性。
返回指定类型的函数
同样的,我们也可以给函数增加一个默认的返回参数。
同样复用上面的代码。
function person(age:number, name?:string):string {
let a:string = ''
a = "find" + age + 'years old'
if(name != undefined) {
a = a + '' +name
}
return a + 'person'
}
var result = person(18); // find 18 years old
var result1 = person(18, 'does');
// find 18 does years old
console.log(result);
console.log(result1);
在大括号后面增加:string,默认返回的是string类型的参数
不限参数个数的函数
简单的理解就是,出去逛街的时候,你可以会买一个商品,也可能会买多个商品。所以此时的函数是不确定性的。比如写一个shopping函数
function shopping(...type:string[]):string {
let a:string = "我买到了"
for(let i = 0; i < type.length; i++) {
a = a + type[i]
if(i<type.length) {
a = a + ','
}
}
a = a + "商品"
return a
}
// 传参数的时候就可以多个传值了
var result:string = shopping("包","衣服","裤子")
console.log(result)
Typescript函数的更多相关文章
- TypeScript 函数 (五)
传递给一个函数的参数个数必须与函数期望的参数个数一致. 参数类别: 必须参数 可选参数 :可选参数必须在参数后面. 默认参数 :当用户没有传递这个参数或传递的值是undefined时. 它们叫做有默认 ...
- TypeScript入门三:TypeScript函数类型
TypeScript函数类型 TypeScript函数的参数 TypeScript函数的this与箭头函数 TypeScript函数重载 一.TypeScript函数类型 在上一篇博客中已经对声明Ty ...
- typeScript函数篇
typeScript的函数是在es6的函数特性的基础上加了一些后端的概念:泛型.参数类型声明.返回值类型声明.重载.装饰器等.其他的一些特性:箭头函数.生成器.async-await.promise等 ...
- typescript函数(笔记非干货)
函数类型 Function Type 为函数定义类型 Define types for functions 我们可以给每个参数添加类型之后再为函数本身添加返回值类型. TypeScript能够根据返回 ...
- TypeScript 函数-函数类型
//指定参数类型 function add(x:number,y:number){ console.log("x:"+x); // reutrn(x+y); } //指定函数类型 ...
- typescript函数类型接口
/* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据, ...
- typescript 函数(定义、参数、重载)
代码: // 本节内容 // 1.函数的定义 // 2.参数(可选参数/默认参数/剩余参数) // 3.方法的重载 // js // function add(x,y){ // return x+y ...
- TypeScript 函数-重载
function attr(name:string):string; function attr(age:number):string; function attr(nameorage:any):an ...
- TypeScript 函数-Lambads 和 this 关键字的使用
let people = { name:["a","b","c","d"], /* getName:function() ...
随机推荐
- php时间函数大锦集
PHP中的时间函数有这么些:(1)date用法: date(格式,[时间]);如果没有时间参数,则使用当前时间. 格式是一个字符串,其中以下字符有特殊意义:U 替换成从一个起始时间(好象是1970年1 ...
- namespace 相关
#include <iostream>using namespace std;namespace first{ int var = 5;}namespace second{ double ...
- PhoneGap API 之事件处理_双击返回键退出程序
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- BZOJ 1084 最大子矩阵 dp
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1084 题目大意: 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分 ...
- URAL-1039 Anniversary Party---树形DP入门题
题目链接: https://cn.vjudge.net/problem/URAL-1039 题目大意: 开一个party,每个员工都有一个欢乐值,只有是上司和下属不同时存在时才能欢乐,问怎样安排能有最 ...
- spring boot项目中使用sfl4j+logbak配置
1.pom.xml文件 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api& ...
- kendo ui - grid 数据表格系列
kendo-ui 官网:https://www.telerik.com/documentation 初始化 grid: 引入文件: <link rel="stylesheet" ...
- CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第二件事就是 LED 驱动 ,点个灯
/* * board_led.c * * Created on: 2018年7月3日 * Author: admin */ #include "board_uart.h" #inc ...
- Oracle 数据库备份和恢复配置
可能的失败及其解决方法 失败类型 我们坑你遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员). 按从轻 ...
- 常用LLDB指令
print.p: 打印内存地址 po: 打印对象 1.读取内存 memory read/数量格式字节数 内存地址 x/数量格式字节数 内存x/3xw 0x10010 格式:x是16进制,f是浮点, ...