【HarmonyOS】ArkTS-函数

函数-Function

函数:是可以被重复使用的代码块

作用:函数可以把具有相同或相似逻辑的代码“包裹”起来,有利于代码复用。

函数基本使用

  1. 定义函数
function 函数名() {
函数体
}
  1. 调用函数
函数名()

注意:先定义,后使用 (变量、函数都是如此)

// console.log('五角星', '☆')
// console.log('五角星', '☆☆')
// console.log('五角星', '☆☆☆')
// console.log('五角星', '☆☆☆☆')
// console.log('五角星', '☆☆☆☆☆')
//
// console.log('五角星', '☆')
// console.log('五角星', '☆☆')
// console.log('五角星', '☆☆☆')
// console.log('五角星', '☆☆☆☆')
// console.log('五角星', '☆☆☆☆☆')
//
// console.log('五角星', '☆')
// console.log('五角星', '☆☆')
// console.log('五角星', '☆☆☆')
// console.log('五角星', '☆☆☆☆')
// console.log('五角星', '☆☆☆☆☆')


// 1. 定义函数 (只是定义了函数,但是没有使用,不会执行内部的代码段)
function star() {
  console.log('五角星', '☆')
  console.log('五角星', '☆☆')
  console.log('五角星', '☆☆☆')
  console.log('五角星', '☆☆☆☆')
  console.log('五角星', '☆☆☆☆☆')
}
// 2. 调用函数(使用函数)
//    函数名()
star()
star()
star()


@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

在这里插入图片描述

函数的参数

根据我们传入不同的数据,进行处理,返回处理后的结果。

function 函数名(形参1:类型, 形参2:类型  ...{
return 处理后的结果
}

let 变量名: 类型 = 函数名(实参1, 实参2, ..
// 用一个函数,来实现下面的需求,
// 传入 价格 和 数量,返回 计算的结果
// 1. 苹果 2元/斤, 买了3斤,多少钱?
// 2. 香蕉 4元/斤, 买了4斤,多少钱?

function buy(price: number, num: number) {
  console.log('传入的数据', price, num)
  // 1. 处理数据
  let result: number = price * num
  // 2. 返回结果
  return result
}

let apple: number = buy(2, 3)
console.log('苹果', apple)

let banana: number = buy(4, 4)
console.log('香蕉', banana)
// 注意点:形参和实参的数量要统一,一一对应





@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

在这里插入图片描述

箭头函数

箭头函数是 比普通函数 更简洁 的一种函数写法

 () => {}
() => {
 // 函数体
}
 let 函数名 = () => {
 // 函数体
}
 let 函数名 = () => {
 // 函数体
}
函数名(实参1, 实参2)
 let 函数名 = (形参1: 类型, 形参2: 类型) => {
 // 函数体
}
函数名(实参1, 实参2)
 let 函数名 = (形参1: 类型, 形参2: 类型) => {
 // 函数体
// 1. 计算过程
// 2. 返回结果
return 计算的结果
}
函数名(实参1, 实参2)
 index.ets
 let buy = (price: number, weight: number) => {
 let result: number = price * weight
 return result
 }
 let apple: number = buy(2, 3)
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
object literals cannot be used as type declarations (arkts-no-obj-literals-a) 是指在 TypeScript 中,不能将对象字面量用作类型声明。 在 TypeScript 中,我们可以使用类型声明来定义变量、参数和函数的类型。类型声明允许我们指定变量的类型,以便在编译时进行类型检查,并提供更好的代码提示和静态分析。 然而,当我们尝试使用对象字面量作为类型声明时,TypeScript 会出现错误消息 "object literals cannot be used as type declarations (arkts-no-obj-literals-a)"。这是因为对象字面量通常用于创建对象而不是定义类型。 例如,下面的代码尝试使用对象字面量作为类型声明: ```typescript const user: { name: string, age: number } = { name: "Alice", age: 25 }; ``` 上述代码会导致错误,因为对象字面量不能被用作类型声明。为了解决这个问题,我们可以使用 interface 或 type 关键字来定义类型: ```typescript interface User { name: string, age: number } const user: User = { name: "Alice", age: 25 }; ``` 在上述代码中,我们使用 interface 关键字定义了一个名为 User 的接口,它包含了 name 和 age 两个属性。接着,我们使用 User 接口作为类型声明,来定义 user 变量的类型。 总结来说,"object literals cannot be used as type declarations (arkts-no-obj-literals-a)" 是 TypeScript 中的错误消息,意味着不能直接使用对象字面量作为类型声明,而应该使用接口或类型声明来定义对象的类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CyberSecure

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值