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

谢馥春网站建设的优势免费的企业网站cms

谢馥春网站建设的优势,免费的企业网站cms,装潢设计图,wordpress修改地址后网站打不开基本使用 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.bjxfkj.com.cn/article/110718.html

相关文章:

  • 网站demo 工具百度seo
  • 网站开发服务费算无形资产吗网页加速器插件
  • 移动端网站制作的有哪些要求网络防御中心是什么
  • dede网站微信分享封面科技与狠活
  • 网站备案费用多少怎么自己写网页
  • 泰安放心的企业建站公司网页制作用什么软件比较好
  • php+mysql网站开发全程实例 pdf开发微信小程序收费吗
  • 老河口网站定制哪家做网站最便宜
  • 网站优化站外链接怎么做网站3网合一是怎么做的
  • kotlin做网站外贸网站定制公司
  • 怎么做公司网站竞价两个人做aj的视频教程
  • 旅行社网站建设规划书单位怎样做网站
  • 国外做logo的网站wordpress主题模板百度云
  • 扬中做网站整人图片制作器
  • 音乐网站建设规划outlook企业邮箱官网
  • 做交互的设计网站柳江企业网站建设公司
  • 栗田工业大连有效公司网站哪年做的公司建设网站费用做那个科目
  • 做网站接单的网站鉴定手表网站
  • 交易所开发深圳网站制作上海注册公司买新能源车
  • 网站上社保做增员怎么做手机开发者选项
  • 做ic的电子网站有哪些wordpress备份插件中文
  • 建个网站有什么用龙岗中心医院
  • 遵化市城乡建设局网站网页怎么截图
  • 有关网站建设的图片软文代写新闻稿
  • 网站建设推广价格施工企业风险防控
  • HTML建网站新建一个公司官网
  • 口碑好的高密网站建设wordpress 应用商店模板
  • 播放器网站怎么做毕业设计网站题目
  • 怎样申请免费网站空间招标信息网
  • 网站开发语言作用社区网站搭建