函数
函数:复用代码块
函数可以不写返回值
调用函数-----函数名()
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:'账号密码错误'})
}
}
}