专业编程基础技术教程

网站首页 > 基础教程 正文

Harmony OS开发-ArkTS语言速成三

ccvgpt 2025-04-28 23:35:33 基础教程 1 ℃

程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java相关开发、鸿蒙开发、人工智能等,专注于程序员搞钱那点儿事,希望在搞钱的路上有你相伴!君志所向,一往无前!


1.ArkTS基础语法

1.1 常量

常量:用来存储数据 (不可变) 写法:const 常量名: 类型 = 值 示例:

Harmony OS开发-ArkTS语言速成三

 Button("查看常量").onClick(()=>{
        // 常量 值不能更改的 使用:const
        const name="程序员Feri"
        console.log("Feri-常量",name)
      }).width("100%").margin(20)

1.2 命名规则

1.只能包含数字、字母、下划线、$,不能以数字开头

2.不能使用内置关键字或保留字 (比如 let、const)

3.严格区分大小写

1.3 数组

1.概念

数组:是一个容器,可以存储多个数据,这些元素可以是任何类型,包括原始类型(如number、string、boolean等)和对象类型(如object、class实例等)。

注意:数组指定的类型和存储的数据类型要必须一致,否则会报错

2.声明

可以使用以下几种方式来声明数组:

1.类型注解:

使用类型注解来指定数组中元素的类型

2.数组泛型:

使用泛型来定义数组,其中Array表示数组中元素的类型

示例:

 Button("数组变量").onClick(()=>{
        // 数组声明 2种方式
        //1.类型注解
        let arr1:string[]=["我爱Feri","必须关注","铁粉一枚!"]
        console.log("Feri-数组",arr1)
        //2.数组泛型
        let arr2:Array<number> =[1,3,5,7]
        console.log("Feri-数组",arr2)

        console.log("Feri-数组索引",arr1[1])

      }).width("100%").margin(20)

通过索引访问数组的时候,切记索引是从0开始的

3.数组的常用函数

push(): 向数组的末尾添加一个或多个元素,并返回新的长度。

pop(): 删除数组的最后一个元素,并返回那个元素。

shift(): 删除数组的第一个元素,并返回那个元素。

unshift(): 向数组的开头添加一个或多个元素,并返回新的长度。

slice(): 返回数组的一个部分,原数组不会被修改。

splice(): 通过删除现有元素和/或添加新元素来更改数组的内容。

map(): 创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数。

filter(): 创建一个新数组,包含通过所提供函数实现的测试的所有元素。

reduce(): 对数组中的每个元素执行一个由您提供的“reducer”函数(接受四个参数:累加器accumulator、当前值currentValue、当前索引currentIndex和源数组array),将其结果汇总为单个返回值。

示例:

  Button("数组操作").onClick(()=>{
        // 数组声明 2种方式
        //1.类型注解
        let arr1:string[]=["我爱Feri","必须关注","铁粉一枚!"]
        console.log("Feri-数组",arr1)
        //2.数组泛型
        let arr2:Array<number> =[1,3,5,7]
        //删除并返回最后一个元素
        console.log("Feri-数组,删除并返回最后一个元素",arr2.pop())
        //添加
        arr2.push(108)
        //删除并返回第一个元素
        console.log("Feri-数组,删除并返回第一个元素",arr2.shift())
        //获取指定索引的元素
        console.log("Feri-数组索引",arr1[1])
        //数组条件过滤
        console.log("Feri-数组", arr2.filter((e)=>{
          return e>3
        }))
        console.log("Feri-数组",arr2)
      }).width("100%").margin(20)

2.函数

2.1 函数是什么

函数是一段可重复使用的代码块,用于执行特定的任务。与JavaScript中的函数类似,但增加了类型系统和一些额外的特性,使得函数更加健壮和安全。

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

2.2 函数的定义

1.定义(声明)

函数需要先定义,才可以调用,那么函数的定义格式如下所示:

  function 函数名(参数名:参数数据类型,……):
  函数返回值的数据类型 {
  
  函数体
  
  [return 返回值;]
}

2.参数

函数可以有参数,也可以没有参数

其中参数的作用:函数能够接收和处理外部的数据,提高函数的灵活性和通用性

其中参数根据定义时和调用时又分为:

● 实参:真实数据(函数调用时候的传入的真实数据)

● 形参:形式上的参数(函数定义时候写的参数)


3.返回值

函数可以有返回值也可以没有返回值

返回值作用:将函数的执行结果传递给其他部分使用(函数外部)。

默认情况下,函数外部无法直接使用函数内部执行结果;

如果想要在函数外部使用内部执行结果,需要将这个结果设置为函数的返回值。

2.3 匿名函数 VS 箭头函数

1.概念:

你们函数:没有函数名的函数,通常用作回调或立即执行

箭头函数(Arrow Functions)是ES6(ECMAScript 2015)中引入的一种编写函数表达式的新语法。提供了一种更简洁的方式来书写函数,并且在某些情况下,与传统的函数表达式有所不同,尤其是在this的绑定上。

2.格式

箭头函数:使用箭头(=>)语法,使得函数定义更加简洁。

  (param) => { /* ... */ }

匿名函数:使用传统的function关键字,通常看起来更冗长。

function (param) { /* ... */ }

3.this绑定

箭头函数:不绑定自己的this,它会捕获其所在上下文的this值。这意味着箭头函数内部的this与外围函数的this保持一致。

匿名函数:有自己的this值,它通常取决于函数的调用方式。例如,在对象方法中,匿名函数的this通常指向该对象。

4.arguments对象

箭头函数:不绑定arguments对象。如果需要访问函数参数,必须使用剩余参数(...args)。

匿名函数:有自己的arguments对象,可以用来访问函数的所有参数。

5.构造函数

箭头函数:不能用作构造函数,尝试使用new操作符将会抛出错误。

匿名函数:可以作为构造函数使用,可以与new关键字一起创建新的对象实例。

6.原型属性

箭头函数:没有prototype属性。

匿名函数:有prototype属性,可以用来添加方法或属性。

7.返回对象字面量

箭头函数:如果箭头函数的函数体是一个对象字面量,需要用圆括号包裹起来,否则它会被视为一个块语句。例如:() => ({ key: 'value' })

匿名函数:可以直接返回对象字面量,不需要额外的圆括号。例如:function () { return { key: 'value' }; }

2.4 函数的使用

1.定义函数

定义3种类型:

1.无参无返回值类型

2.有参无返回值类型

3.有参有返回值类型

示例:

  
  //无参无返回值
function fun1(){
  console.log("Feri-函数","无参无返回值类型")
}
//有参无返回值
function fun2(num1:number,num2:number){
  console.log("Feri-函数,求和=",num1+num2)
  console.log("Feri-函数","有参无返回值类型")
}
//有参有返回值
function fun3(num1:number,num2:number):number{
  return num1+num2
  
}

2.使用函数(函数调用)

示例:

 Button("无参无返回值函数").onClick(()=>{
        fun1()
      }).margin(20)
      Button("有参无返回值函数").onClick(()=>{
        fun2(1,2)
      }).margin(20)
      Button("有参有返回值函数").onClick(()=>{
        console.log("Feri-函数,有参有返回值",fun3(128,168))
      }).margin(20)

效果:

好啦,本篇文章就到这里啦,感谢各位的观看,关注我,跟着我一起翱翔Harmony OS的开发旅途!

Tags:

最近发表
标签列表