01、课程介绍
鸿蒙系统支持多种设备和平台,开发者可以一次开发多端部署;鸿蒙应用开发框架提供了丰富的API和组件,降低了开发难度;鸿蒙系统具有强大的性能优化和调试工具,提高了开发效率。
02、软件下载
03、变量
语法:
使用let定义变量(可以重新赋值)
let title:string = 'haha'
title = '美美'
let list:string[]=['1','2','3']
list[0]='0'
04、常量
语法:
const 常量名:类型 = 值
//用来存储数据,常量不可修改
const PI:number = 3.1415926
变量常量的注意事项(命名规则):
- 只能包含数字、字母、下划线、$,
不能以数字开头
- 不能使用内置关键字或保留字(let、const)
严格区分大小写
05、数组
语法:
let 数组名:类型[] = [数据1、数据2、数据3、...]
//数组指定的类型和存储的类型要保持一致
let persons:string[] = ['张三','李四','王五']
06、函数
是可以被重复使用的代码块,有利于代码复用
function print(){
console.log('哈哈哈')
}
07、函数的完整用法
根据传入
的不同数据
,进行处理
,返回
处理后的结果
function 函数名(形参1:类型,形参2:类型...){
//处理数据逻辑
return 处理结果
}
let 变量名:类型 = 函数名(实参1,实参2...)
08、箭头函数更简洁
let count = (price:number,num:number) => {
return price*num
}
count(2,3)
09、对象【属性】
通过interface接口约定对象结构类型
//1、定义接口
interface person {
name: string
age: number
}
//2、基于接口,定义对象
let LSB: person = {
name: '梁山伯',
age: 20
}
//3、访问对象
let ZYT: perxon = {
name: '祝英台',
age: 19
}
console.log('输出姓名:',ZYT.name) //日志输出:祝英台
10、对象【方法】
//1、定义方法
interface person {
name: string
age: number
cry: (say:string) => void
}
//2、基于接口,定义对象
let LSB: person = {
name: '梁山伯',
age: 20,
cry:(say:string)=>{
console.log('笑cry了...',say)
}
}
//调用
LSB.cry('共白头') //日志输出:笑cry了... 共白头
11、联合类型
联合类型
是一种灵活的数据类型
,他修饰的变量
可以存储不同
的数据类型语法
:let变量:类型1 | 类型2 | 类型3 = 值
let judge:number | string = 100
judge = 'A+'
- 联合数据类型还可以将变量约定在一组数据范围内进行选择
let gender:'man' | 'woman' | 'secret' = 'man'
let a:any(代表任意类型) = 'jack'
12、枚举类型
//定义枚举类型(常量列表)
enum 枚举名 {
常量1 = 值,
常量2 = 值,
...
}
//声明
enum ThemeColor {
red: '#FF0F29',
white: '#FFF',
black: '#000'
}
//调用
let color:ThemeColor = ThemeColor.red
enum Color { Red, Green, Blue };
function getColorName(color: Color): string {
switch (color) {
case Color.Red:
return '红色';
case Color.Green:
return '绿色';
case Color.Blue:
return '蓝色';
default:
return '未知颜色';
}
}
console.log(getColorName(Color.Red)); // 输出: 红色
参考文档
- developer.huawei.com/consumer/cn…
- www.harmonyos.com/cn/develop
- developer.huawei.com/consumer/cn… (图标库地址)
- 缩放:scale({x:1,y:1})
- 图片的网络地址需要增加权限
- struct()类比template标签
- Badge 角标
- Grid animation 网格分布
- swiper aspectRadiu 轮播图
- 样式结构通用抽取 @extend @styles(不支持传参),分全局跟组件内部 @bulider
- Array.form({length:65})
- scrollable(ScrollDirection.vertical) scrollbar(BarState.(on|off|auto))
- tabs(){ tabContent(){text:'内容'}} 位置barPosiition barMode(BarMode.Scrollable))
- 泛型 getType<t1,t2>{temp:string|number|boolean} t是类型变量
- 状态变量@State 成员变量 箭头函数支持传参