1、函数的定义

  es5定义函数的方法

//函数声明法
function run(){
return 'run';
}
//函数表达式
var run = function(){
return 'run2';
}

  ts中定义函数的方法

//函数声明法(返回值为string)
function run():string{
return 'run';
}
//函数表达式(返回值为numbet)
var run = function():number{
return 123;
}
//没有返回值的方法
function run():void{
console.log('run')
}

   ts中定义方法传参(参数需要定义数据类型)

//函数声明法
function getInfo(name:string,age:number):string{
return `${name} --- ${age}`;
}
//函数表达式
var getInfo = function(name:string,age:number):string{
return `${name} --- ${age}`;
}

2、可选参数

//可选参数后加问号,可选参数必须配置到参数的最后面
function getInfo(name:string,age?:number):string{
if(age){
return `${name} --- ${age}`;
}else{
return `${name}`;
}
}
//age 这个参数可传可不传
getInfo('zhangsan')
getInfo('zhangsan',123)

3、默认参数

function run(name:string,age:number=20):string{
return `${name}---${age}`;
}

4、剩余参数(...)

function sum(...result:number[]):number{
var sum = 0;
for(var i=0;i<result.length;i++){
sum+=result[i];
}
return sum;
}
alert(sum(1,2,3,4))

5、函数重载

java中方法重载:重载指的是俩个或者俩个以上同名函数,但他们的参数不一样,这时候会出现重载的情况。

typescript中重载:通过为同一个函数提供多个函数类型定义来试下多种功能的目的。

function getInfo(name:string):string;
function getInfo(age:number):number;
function getInfo(str:any):any{
if(typeof str==='string'){
return '我叫:'+ str
}else{
return '年龄:'+ str
}
}
getInfo('张三')
getInfo(20)

03_TypeScript函数的更多相关文章

  1. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  2. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  3. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  4. C++对C的函数拓展

    一,内联函数 1.内联函数的概念 C++中的const常量可以用来代替宏常数的定义,例如:用const int a = 10来替换# define a 10.那么C++中是否有什么解决方案来替代宏代码 ...

  5. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  6. javascript中的this与函数讲解

    前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大家可以认为全局作用域其实就是Window函数的函数作用域,我们编写的js代码, ...

  7. 复杂的 Hash 函数组合有意义吗?

    很久以前看到一篇文章,讲某个大网站储存用户口令时,会经过十分复杂的处理.怎么个复杂记不得了,大概就是先 Hash,结果加上一些特殊字符再 Hash,结果再加上些字符.再倒序.再怎么怎么的.再 Hash ...

  8. JS核心系列:浅谈函数的作用域

    一.作用域(scope) 所谓作用域就是:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的. function scope(){ var foo = "global&quo ...

  9. C++中的时间函数

    C++获取时间函数众多,何时该用什么函数,拿到的是什么时间?该怎么用?很多人都会混淆. 本文是本人经历了几款游戏客户端和服务器开发后,对游戏中时间获取的一点总结. 最早学习游戏客户端时,为了获取最精确 ...

随机推荐

  1. [Linux-CentOS7]安装Telnet

    # yum install telnet Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Resolv ...

  2. 1236 - Pairs Forming LCM

    1236 - Pairs Forming LCM   Find the result of the following code: long long pairsFormLCM( int n ) {  ...

  3. asp.net MVC项目开发之统计图echarts饼形图(二)

    上面介绍了柱状图,只有js代码后台的传递等我们介绍完饼形图的使用过程在做介绍 有了柱状图的介绍,在使用饼形图,其实很容易了,上代码 1.首先加载网页时,需要用到的加载项和事件. //打开网页加载 $( ...

  4. 全志V3S 编译运行xboot笔记

    目录 全志V3S 编译运行xboot笔记 1.目的 2.环境准备 3.下载 3.1 fel模式进入 3.2 sunxi-fel工具的使用 3.3 烧录 4.串口打印 5.总结 全志V3S 编译运行xb ...

  5. WannaMine4.0查杀方法

    病毒现象 扫描爆破内网基于445端口的SMB服务 服务器出现卡顿.蓝屏 服务器主动访问恶意域名:totonm.com.cake.pilutce.com:443 病毒处置 删除关键病毒文件:C:\Win ...

  6. Linux运维--11.手动部署Galera Cluster

    1.搭建galera集群 yum install epel-release yum install centos-release-openstack-stein #1.1 安装mariadb yum ...

  7. linux中关机重启命令

    shutdown 解释 关机重启命令 语法 shutdown [选项] 时间 -c 取消前一个关机命令 -h 关机 -r 重启 示例 # 现在立刻关机 shutdown -h now # 定时关机 s ...

  8. Python股票量化第一步环境搭建

    很久之前就希望可以量化分析股票,那么国内的股票数据API也有个,最有名的就是tushare,然后还有baostock. 今天我们就来研究一下这个baostock吧. 首先,我们需要下载一个叫做anac ...

  9. C++实现一个简单的双栈队列

    双栈队列的原理是用两个栈结构模拟一个队列, 一个栈A模拟队尾, 入队的元素全部压入此栈, 另一个栈B模拟队首, 出队时将栈A的元素弹入栈B, 将栈B的栈顶元素弹出 此结构类似汉诺塔, 非常经典, 这里 ...

  10. 浅析设计模式之mvc、mvp、mvvm

    mvc.mvvm.mvp是常见的设计模式,也是常见的设计思想,现对它们进行简要的归纳总结 三种模式的介绍 1.MVC:经典设计模式 View 传送指令到 Controller(控制器) Control ...