鸿蒙_入门

日志打印

console.log('说明','值')

数据存储(变量、常量)

string 字符串:描述信息

number 数字:计算

boolean 布尔:判断(真、假)

变量

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

let 变量名:类型 =
let title:string = '苹果'
let price:number = 18
console.log('名称:',title,'价格:',price)   //名称: 苹果 价格: 18
// 变量修改
title = '橘子'
console.log('名称:',title,'价格:',price)   //名称: 橘子 价格: 18
常量

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

const 常量名:类型 =
const PI:number = 3.1415926
const companyName:string = '华为科技有限公司'
变量命名规则
  • 只能包含数字、字母、下划线、$ (不能以数字开头)
  • 不能使用内置关键字
  • 严格区分大小写 (推荐使用小驼峰)

数组

数组:是一个容器,可以存储多个数据

let 数组名:类型[] = [数据1,数据2,...]
let names:string[] = ['张三','李四','王五']
console.log('名字',names)     // 名字 张三,李四,王五
console.log('名字',names[1])  // 名字 李四

数组索引(下标,编号),从0开始。(不支持负数表示)

快速生成长度为10的测试数组
Array.from({length:10})
数组的比较
[ ] === [ ] 两个都是空数组,对比的结果也不一样
数组属于对象
对象之间比较的是内存地址
所以可以把它转换为字符串再比较,(加 .toString())
if(this.list.toString() === input.toString()){

}
list.some(v=> v === ture)
查找里面的值,有没有为ture的,有一项满足,就为ture

函数

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

// 定义函数
function 函数名(){
	函数体
}

// 使用函数
函数名()
带参数的函数
// 定义函数
function 函数名(形参1:类型,形参2:类型,...){
    编写代码对数据进行处理
    return 处理后的结果
}

// 使用函数
let 变量名:类型 = 函数名(实参1,实参2,...)

箭头函数

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

let 函数名 = (形参1:类型,形参2:类型)=>{
    函数体
    return 计算的结果
}
函数名(实参1,实参2)
对比
function aa(d:number,c:number){
  return d+c
}
let b:number = aa(1,3)
console.log('结果',b)

let aa = (d:number,c:number)=>{
  return d+c
}
let b:number = aa(1,3)
console.log('结果',b)

对象 - 接口

作用:用来描述一个物体的特征和行为

对象:是一个可以存储多个数据的容器

数组只能存储同一类型的值,对象可以存储不同类型的值

let 对象名称:对象结构类型 = {属性名称:}
interface 接口名 {
    属性1:类型1
    属性2:类型2
    属性3:类型3
}
// 定义接口
interface Person {
    name:string
    age:number
    weight:number
}

Person:人 / weight:体重

// 定义对象
let p:person = {
    name:'刘基咪',
    age:18,
    weight:90,
}

注意:定义对象的时候需要逗号分隔,定义接口不需要

先定义接口,再定义对象,是基于接口定义对象

访问对象

对象名.属性名

// 获取对象的属性值      对象名.属性名
console.log('结果',p.name)

对象-方法

方法的作用:描述对象的具体行为

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

// 调用
let yqd:Person = {
    name:'余承东',
    dance:()=>{
        console.log(yqd.name,'我叫刘承东') 
    },
    sing:(song:string)=>{
        console.log('刘强东说','我叫余强东',song)
    }
}

yqd.dance()
yqd.sing('我是家里的顶梁柱')

联合类型

联合类型是一种灵活的数据类型,它修饰的变量可以存储不同类型的数据

let 变量:类型1 | 类型2 | 类型3 =

| 可以理解成或的意思

let judge:number|string = 100
judge = 'A+'
judge = '优秀'

联合类型还可以将变量值,从给出的指定值里面选择(比如性别:男,女,保密)

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

枚举

枚举类型是一种特殊的数据类型,约定变量只能在一组数据范围内选择值

// 定义枚举类型(常量列表)
enum 枚举名 {
	常量1 =,
	常量2 =,
	...
}

enum ThemeColor{
    Red = '#ff0f29',
    Orange = '#ff7100',
    Green = '#30b30e'
}
// 使用枚举类型,约束变量
let color:ThemeColor = ThemeColor.Red
console.log('颜色',color)
枚举和联合类型的区别

枚举是一种键值对方式存储多个值,联合类型是一个值,可以有多种类型

弹层

import {MyDialog} from './MyDialog'
@Entry
@Component
struct DemoIndex {
  // 注册弹层
  myDialogController: CustomDialogController = new CustomDialogController({
    // 自定义构建
    builder: MyDialog(),
    // 使用自定义样式
    customStyle: true,
    // 弹窗从底部开始显示
    alignment:DialogAlignment.Bottom
  })
  build() {
    Column() {
      Button('打开')
        .onClick(() => {
          this.myDialogController.open()
        })
    }
  }
}
@CustomDialog
struct MyDialog{
  controller:CustomDialogController
  build() {
    Column(){
      Text('我是弹窗')
    }
  }
}
export {MyDialog}

编辑器(快捷方式)

生成页面(方法一)

@Entry
@Component
struct demo {
  build() { 
  }
}

在这里插入图片描述

resources > base > profile > main_pages.json

创建页面会在main-page.json5形成路由,有映射关系,如果删除页面,建议删除对应关系,否则报错

生成页面(方法二)

先新建一个普通文件 ArkTS File,然后再在页面输入entry

在这里插入图片描述

使用这种方法添加的页面,不会在main_pages.json文件中添加路由

实时模板

在这里插入图片描述

变量名 变量名 变量名 可以随便取,这里表示的是,这里放一个变量(需要编辑)光标放在这里

variable 就是变量的意思

还可以在编辑变量里面设置变量的默认值

注解

/**
   * 检测是否授权
   * @param permissionName 权限名称
   * @returns -1未授权(abilityAccessCtrl.GrantStatus.PERMISSION_DENIED),0授权了
   */
  async checkAccessToken(permissionName:Permissions) {

调用这个方法,鼠标悬停的效果

在这里插入图片描述

params:参数的描述,需要先写对应的参数,在参数后面写描述
returns:返回值的描述
上一篇:多品牌NVR管理工具/设备EasyNVRNVR监测软件/设备HTML5技术B/S架构实时视频监控方案


下一篇:IMX6ULL之使用汇编操作GPIO