TypeScript函数

函数

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

void 不能有return值

返回值类型必须一致

return 只能返回单个的对象

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

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

ts 复制代码
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('阿萨德','阿斯蒂芬','很过分')

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

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

DevEco Studio使用函数

ts 复制代码
  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:'账号密码错误'})
      }
    }
  }
相关推荐
可乐鸡翅yeah_11 分钟前
hls.js 切换多个视频源,新手开发常见踩坑
开发语言·前端·javascript·ios·ffmpeg·音视频·safari
kyriewen19 分钟前
我实测了前端日期的 5 个坑:差 8 小时只是开始
前端·javascript·程序员
anew___20 分钟前
《从零手写操作系统 (11):文件系统初探——initrd与VFS抽象层》
java·javascript·算法
今年下半年29 分钟前
【VUE3】移动端:使用腾讯地图显示区域统计与放大显示资产点位
javascript·前端框架·vue·地图
a努力。1 小时前
LangChain Agent消息链路全解析
java·前端·javascript
今年下半年1 小时前
【前端】ant-design-vue 表格「行、列都动态」的处理方案
前端·javascript·vue.js
默_笙2 小时前
🚕 缺料就出门买:给 RAG 装上"信息够不够"的判断力
前端·javascript
志尊宝2 小时前
Vue3 零基础每日笔记(054):Pinia 三件套详解——state / getters / actions 全搞懂
前端·javascript·vue.js·vue·前端开发
承渊政道3 小时前
Linux系统学习【进程信号详细解析——认识、产生、保存以及捕捉信号】
linux·学习·ubuntu·ssh·vs code·进程信号
wangyadong3173 小时前
# el-table 复选框无法选中问题记录
前端·javascript·vue.js