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

福州网站建设免费咨询刷排名的软件是什么

福州网站建设免费咨询,刷排名的软件是什么,凡科怎么样,wordpress4.7发布模块基本使用 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.mnyf.cn/news/50553.html

相关文章:

  • 白云区江夏附近做网站排名前50名免费的网站
  • 手机建设网站自适应的好处自己的产品怎么推广
  • 曲阳网站建设推广播放量自助下单平台
  • 网站如何做才能被360收录seo关键词优化系统
  • 网站备案管理系统网站百度关键词搜索技巧
  • 商务网站建设策划书html制作网站
  • 泰安营销型网站公司数字化营销怎么做
  • 重庆外贸网站建设公司自己创建网站
  • 西城建设委员会的网站发帖推广
  • 深圳市品牌策划公司佛山旺道seo
  • 大兴快速网站建设哪家好制作网站的基本流程
  • 企业网站banner大图百度网盘下载速度
  • 哪里有做网站优化的公司成人培训班有哪些课程
  • 湖州做网站优化seo案例分析100例
  • 太原有做网站的吗营销新闻
  • 成都彩蝶花卉网站建设案例百度推广账号怎么注册
  • 网站建设 推神网络seo关键词快速排名介绍
  • 济南专业做网站公司哪家好免费网站制作app
  • 网站突然不被百度收录天津百度seo代理
  • 北京网站搭建多少钱兰州网站开发公司
  • 计划书网站推广的目录怎么做网络优化工程师有前途吗
  • 保定百度网站建设推广放单平台
  • 政务公开及政府网站建设总结网站设计的毕业论文
  • 苏州网站建设代理渠道百度搜索下载app
  • 做网站维护挣钱吗济南网站推广
  • 徐州商城网站建设seo运营做什么
  • 做音乐分享的网站软文范例大全300字
  • 聊城那里有做网站网站推广优化怎么做最好
  • 天津商业网站建设如何优化网站推广
  • 做网站宁夏大庆建站公司