# 鸿蒙界面开发
ArkTS
语言是用于鸿蒙应用开发的一门语言,能兼具 Javascript
和 Typescript
的特点。 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)