# 鸿蒙界面开发

ArkTS 语言是用于鸿蒙应用开发的一门语言,能兼具 JavascriptTypescript 的特点。 ArkUI 是一个与 ArkTS 语言联系紧密的框架,能够便于开发。

# 数据类型

  • string :字符串
  • number :数字
  • boolean :布尔

# 变量和常量

# let 关键字定义变量

用法let 变量名:类型 = 值

举例

let title: string = ' 奥利奥 '
let price: number = 21.8
let isSelect: boolean = true

变量:专门用来存储数据的可变容器。

# const 关键字定义常量

常量:用来存储数据(不可变)。

用法const 常量名:类型 = 值

举例

const PI: number = 3.1415926
  • 变量和常量都严格区分大小写。
  • 变量和常量都不能以数字开头。
  • 不能使用内置的关键字作为常量名和变量名。

# 数组

定义let 数组名:类型 [] = [数据 1,数据 2,…]

举例

let name: string [] = [' 小红 ', ' 小明 ', ' 小杰 ']
  • 索引号依然从 0 开始。
  • 存储的数据类型必须是数组指定的类型,不然报错。
  • 用数组 [索引] 来取出数据。

# 函数

定义函数

function 关键字定义函数,小括号内是传递的参数,花括号内是函数的代码体。

function 函数名 (形参 1: 类型,形参 2: 类型,...) {
	函数体
	return 值
}

调用函数

函数名 ()
函数名 (实参 1, 实参 2,...)

注意,形参和实参的个数要一致。

举例

function 函数名 (形参 1: 类型,形参 2: 类型,...)
{
	编写代码对数据进行处理
	return 处理后的结果
}
let 变量名:类型 = 函数名 (实参 1, 实参 2,...)

箭头函数
箭头函数是一种有着更加简洁写法的函数。

let 函数名 = () => {
	// 函数体
}
函数名 ()

也可以传参:

let 函数名 = (形参 1: 类型,形参 2: 类型) => {
	// 函数体
}
函数名 (实参 1, 实参 2)

也可以有返回值,只需要在函数体内加入 return 即可:

let buy = (price:number, weight:number) => {
	let result: number = price * weight
	return result
}
let apple: number = buy(2, 3)

# 对象

接口与定义对象

先用 interface 接口约定一个对象结构类型。这个对象结构类型是一种自定义的新类型,不仅可以自定义类型名,还可以自定义属性。通常,这种对象结构类型又被抽象定义为接口。

interface 接口名 {
	属性 1: 类型 1
	属性 2: 类型 2
	属性 3: 类型 3
}
interface Person {
	name: string
	age: number
	weight: number
}

接口的属性内容不需要通过逗号分隔。

有了接口,就可以定义多个对象了:

let person1: Person = {
	name: ' 张三 ',
	age: 18,
	weight: 90
}
let person2: Person = {
	name: ' 李四 ',
	age: 19,
	weight: 100
}

注意,具体对象的属性需要通过逗号分隔。

访问对象的属性

console.log (' 名字 ', person1.name)
console.log (' 年龄 ', person1.age)
console.log (' 体重 ', person1.weight)

定义接口中的方法

用箭头函数在接口中约定多个对象的方法类型。

interface 接口名 {
	方法名: (参数:类型) => 返回值类型
} 
interface Person {
	dance: () => void
	sing: (song: string) => void
}

调用方法

let person1: Person = {
	dance: () => {
		console.log (' 张三说 ', ' 我来跳个舞 ')
	},
	sing: (song: string) => {
		console.log (' 张三说 ', ' 我来唱首 ', song)
	}
}
person1.dance ()
person1.sing (' 爱的供养 ')

通过对象名。方法名(实参)来调用方法。

# 联合

如果一个变量是联合类型,那么它可以存储不同种类型的数据。

let judge: number = 100
judge = 'A' # 这个会报错,字符串不能分配给数字
let judge: number | string = 100
judge = 'A'	# 这个会被允许

用联合可以把变量值限定在一组数据范围内选择:

let gender: 'man' | 'woman' | 'secret'

# 枚举

枚举类型允许变量在一组数据范围内选择值。

定义枚举类型

enum 枚举名 {
	常量 1 = 值,
	常量 2 = 值,
	......
}
enum ThemeColor {
	Red = '#ff0f29',
	Orange = '#ff7100',
	Green = '#30b30e'
}

枚举类型只能约定一个常量列表。

定义枚举类型的变量

let color: ThemeColor = ThemeColor.Red
console.log (' 主题颜色 ', color)

取值从枚举中通过点号取得。

# 线性布局

Column 容器与 Row 容器。

主轴对齐方式:.justifyContent (枚举 FlexAlign)

.justifyContent(FlexAlign.start)

.justifyContent(FlexAlign.end)

.justifyContent(FlexAlign.Center)

.justifyContent(FlexAlign.SpaceBetween)

.justifyContent(FlexAlign.SpaceAround)

.justifyContent(FlexAlign.SpaceEvenly)