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

TypeScript函数

函数

函数:复用代码块
函数可以不写返回值
调用函数-----函数名()
function a(){console.log('无参函数');
}
a();
需要再函数后,写上返回值类型
没有返回值 使用void
function e():string{return '可乐'
}
console.log('我得到了'+e());
function d():void{console.log('苹果');
}
d()
匿名函数 使用变量的方式声明函数
let f=function():void{console.log('匿名函数');
}
f()
常见的错误
let a1:number=10; function a1(){} //标识符“a1”重复

void 不能有return值

返回值类型必须一致

return 只能返回单个的对象

 let a1:number=10
//  function a1(){}  //标识符“a1”重复
// void 不能有return值
// function a2():void{
//     return '你好'
// }
// 返回值类型必须一致
// function a3():number{
//     return '你好'
// }
// return 只能返回单个的对象
// function a4():string{
//     return '可乐'
//     return '雪碧'
// }
有参函数
参数必须有类型
调用时,实参和形参类型必须相同
参数数量必须一致
实参不需要写类型
function sum1(n:number):void{let sums:number=0for(let i=1;i<=n;i++){sums+=i;}console.log(sums);
}
let a2:number=12;
sum1(12)
sum1(99)
多个参数之间要用,隔开
参数的顺序,必须按照形参的顺序去写,参数的数量必须一致,参数类型,必须一致

不确定有多少参数可以使用…

let names:string[]=[]
function addNames(...na:string[]){console.log(na);for(let i=0;i<=na.length;i++){names.push(na[i])}console.log(names);
}
addNames('as')
addNames('张三','阿萨德')
addNames('阿萨德','阿斯蒂芬','很过分')

可选参数-----不确定是否需要的参数 ?

function show(name:string,age:number,sex?:string,width?:number):void{console.log(`${name},年龄:${age},${sex},体重:${width}`);
}
show('张三',18,'女',120)
show('张三',18,'女',)

DevEco Studio使用函数

  Button('登录').width('80%').onClick(()=>{this.login()})
login():void{if(this.acc===''||this.pwd===''){promptAction.showToast({message:'账号密码不能为空'})}else {let flag:boolean=false;//默认密码登录失败for(let i=0;i<this.account.length;i++){if(this.account[i]===this.acc&&this.pwd===this.pwds[i]){//用户名密码都相同flag=true;//登录成功break;}}if(flag){//登录成功  跳转页面router.pushUrl({url:'pages/StuShowPage'})}else {promptAction.showToast({message:'账号密码错误'})}}}
http://www.lryc.cn/news/423376.html

相关文章:

  • 中海油某海上平台轨道巡检机器人解决方案
  • 【NXP-MCXA153】SPI驱动移植
  • Python if 编程题|Python一对一辅导教学
  • 机器学习——第十一章 特征选择与稀疏学习
  • 花式表演无人机技术详解
  • 服务器那点事--防火墙
  • C:每日一题:单身狗
  • SQL之使用存储过程循环插入数据
  • 智慧楼宇公厕系统小程序,提高卫生间管理使用效率
  • 深度剖析:云数据库与传统数据库的显著差异
  • # 利刃出鞘_Tomcat 核心原理解析(六)
  • 双亲委派模型
  • Linux下ETCD安装、配置、命令
  • 【QT】静态库与动态库
  • R的行和列命名和类型的转换
  • 某通用系统0day审计过程
  • windows C++-高级并发和异步(一)
  • Java FX 学习
  • 【走迷宫】
  • linux(debian)迁移var数据到已分配逻辑卷的物理盘
  • 【产品那些事】什么是应用程序安全态势管理(ASPM)?
  • cocosUI多分辨率适配
  • 无法加载到主类
  • 深入理解Kafka核心设计与实践原理_03
  • MySQL- 覆盖索引
  • JSON与EXL文件互转
  • 后台管理权限自定义按钮指令v-hasPermi
  • 【Python绘制散点图并添加趋势线和公式以及相关系数和RMSE】
  • linux bridge VLAN
  • Java进阶篇之深入理解多态的概念与应用