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

游戏服务器搭建杭州seo的优化

游戏服务器搭建,杭州seo的优化,成都科技网站建设电话多少,西安网页制作基本使用 ts与js一样拥有具名函数和匿名函数两种函数类型。但是ts的函数需要提前定义好参数类型以及函数的返回值类型。 具名函数 function add(num1: number, num2: number):number {return num1 num2 }匿名函数 匿名函数的定义相对麻烦,我们需要提前定义函数的…

基本使用

ts与js一样拥有具名函数和匿名函数两种函数类型。但是ts的函数需要提前定义好参数类型以及函数的返回值类型。

具名函数

function add(num1: number, num2: number):number {return num1 + num2
}

匿名函数
匿名函数的定义相对麻烦,我们需要提前定义函数的类型

// 直接使用类型推导
//const add = (num1: number, num2: number):number => {
//    return num1 + num2
//}
// 还可以反向类型推导
//const add: (num1: number, num2: number) => number = (x, y) => x + y
const add: (num1: number, num2: number) => number = (num1: number, num2: number):number => num1 + num2

函数参数

ts里面每个函数参数都是必须的,函数参数的数量与类型必须完全一致才可以使用函数。

function add (num1: number, num2: number):number {return num1 + num2
}
// add('1')  Expected 2 arguments, but got 1.
// add('1', 1) Argument of type 'string' is not assignable to parameter of type 'number'.
add(1, 1) 

我们也可以使用?指定一个函数参数非必传,当然这种参数需要放到所有参数的末尾。

function add (num1: number, num2: number, num3?:number):number {return num1 + num2 + (num3 ? num3 : 0)
}
console.log(add(1, 1) )    // 2
console.log(add(1, 1, 1) ) // 3

我们还可以给函数参数设置默认值

function add (num1: number, num2: number, num3:number = 0):number {return num1 + num2 + num3
}
console.log(add(1, 1) )   // 2
console.log(add(1, 1, 1) )// 3

事实上如果给末尾的参数设置默认值效果是等同于在末尾使用?指定非必传参数的

在js里面如果我们并不知道将会有多少参数传入,可以使用arguments进行所有参数的接收,也可以使用es6...的方式收集到数组里。
而在ts里面我们同样可以这样操作

function add (num1: number, num2: number, num3:number = 0):number {console.log(arguments) // {‘0’: 1, '1': 2}return num1 + num2 + num3
}
console.log(add(1, 1) )
function add (num1: number, ...arg:number[]):number {console.log(arg) // [2,3,4]return num1 
}
console.log(add(1, 2, 3, 4) )

函数重载

所谓函数重载,就是指的是拥有多个函数签名,一个函数体实现。

function calculateAverage(nums: number[]): number;
function calculateAverage(str: string): number;
function calculateAverage(arrOrStr: number[] | string): number {if (Array.isArray(arrOrStr)) {let sum = arrOrStr.reduce((a, b) => a + b);return sum / arrOrStr.length;} else {let nums = arrOrStr.split(',').map(Number);let sum = nums.reduce((a, b) => a + b);return sum / nums.length;}
}console.log(calculateAverage([1, 2, 3])); // 输出结果为 2
console.log(calculateAverage("1,2,3")); // 输出结果为 2
http://www.sczhlp.com/news/135125/

相关文章:

  • php网站后台管理系统怎挖掘网站关键词
  • 青海省建设工程在哪个网站发布网页设计制作实验报告
  • 怎么做网站代拍wordpress替换函数
  • 个体户可以做网站吗网络规划设计师与系统规划与管理师
  • 网站怎么做跳转链接网络营销具有哪些优势和吸引力
  • 手机网站模板尺寸口碑好的企业网站开发
  • 网站更换服务器怎么做可做市值曲线的网站
  • 做网站的毕业答辩ppt实例的wordpress主机名
  • 漳州最专业的网站建设公司什么叫关键词
  • asp网站整站下载器为耐克做品牌推广的网站
  • 中国建设行业网站可以做别人的网站上挂一个网页吗
  • 长沙的汽车网站建设有网站建设费科目吗
  • 公司网站开发费摊销郑州整形网站建设
  • 网站统计帮哪个好企业商城网站建设
  • 网站开发虚拟主机系统服务器安全证书验证失败
  • 上海松江区网站建设wordpress 显示页面标题
  • 快乐十分网站开发wordpress手机版弹出式导航
  • 哪个网站做货车专业wordpress教程安装教程
  • 怎么在微信公众号上做网站南京网站建设哪家专业
  • 办网站如何备案桂林生活爆料桂林人论坛
  • 网站 宕机 优化好看的网站推荐一下
  • wordpress导航站的源码创建全国文明城市英语作文
  • 网站建设的主要内容网站建设的书籍有哪些
  • 做外贸网站如果是东西杂会不会不好推广中医院网站源码
  • ppt做的比较好的网站有哪些上海微信网站
  • 普通网站和营销网站有何不同网站中图片下移怎么做
  • LAMP 架构说明及部署实践 - 教程
  • 常用的网站建设技术有什么flash cms网站源码
  • asp.net做毕业设计网站网站源码 酷
  • 专业网站定制报价在家写代码可以赚钱吗