ArkTS基础

ArkTS:一门用于开发鸿蒙应用的编程语言。

一、输出语句

写法:

console.log('消息说明','打印的内容')
//举例
console.log('请说:','你好')

注释:

1.单行注释  //注释内容,快捷键:Ctrl+/

2.块注释/* 注释内容*/,快捷键:Ctrl+Shift+/

二、三种常见的数据类型:

①string字符串:用来描述信息

②number数字:用来计算

③boolean布尔:用来判断真假

三、变量

变量:用来存储数据的容器(可以根据后面所需改变)

定义变量

//语法:let 变量名:类型=值

//举例
let title:string='2023年第一次测试'     

let price:number=21.8

let isSelect:boolean=true
四 、常量

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

写法:

const  常量名:类型=值

//举例
const PI :number=3.14
console.log('圆周率:',PI)

注意      常量和变量的命名规则:

①只能包含数字、字母、下划线、¥,不能以数字开头

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

严格区分大小写


五、数组

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

let 数组名:类型[]=[数据1,数据2,.....]
//举例
let names:string[]=['小红','小兰']
//获取数组元素
console.log('取出小兰:',names[1])

注意:数组的底标是从0开始。


六、函数

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

基本语法:

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


//示例:1.定义函数

function  star(){
    console.log('五角星',☆)
    console.log('五角星',☆☆)
    console.log('五角星',☆☆☆)
    console.log('五角星',☆☆☆☆)
    console.log('五角星',☆☆☆☆☆)
    console.log('五角星',☆☆☆☆☆☆)

}
2.调用函数

star()
star()

完整写法:

function 函数名(需要处理的数据) {
  编写代码对数据进行处理
  return 处理后的结果
}

let 变量名: 类型 = 函数名(实际要处理的数据)

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

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

/*需求:苹果2元1斤,买三斤需要多少钱*/

function buy(price:number,num:number){
console.log('传入的数据',price,number)
let  result:number=price*num
return result
}
let apple:number=buy(2,3)
console.log('买三斤苹果的价格是:',apple)
6.1函数的可选参数

函数在定义时,设置了参数入口,但在并不是每一个参数都会调用,为了避免报错,可以将形参设置为可选参数,或给形参一个默认值


可选参数形式:

语法:形参--name?:Type

name:形参的名称

?:表示可有可无

Type:接收的数据类型


举例

function sayHi(params?: string) {
  console.log('打招呼语', params || 'hello')

  // undefined
  console.log('打招呼语', params)
}

sayHi('你好')
sayHi()

给参数一个默认值:

语法: num: number = 2

function sum(num1:number,num2?:number=0){
    let num3:number=num1+num2
    console.log('两数之和:',num3)
    return num3

}
let sum4:number=sum(2)
console.log('sum4':,sun4)

七、箭头函数

箭头函数相对于普通函数更简洁。

写法:

let 函数名 = (形参1: 类型, 形参2: 类型) => {
  // 函数体
  // 1. 计算过程
  // 2. 返回结果
  return 计算的结果
}

函数名(实参1, 实参2)//3.给函数赋值

//举例

let buy=(price:number,weight:number=1)=>{
    let result:number=price*weight
    return result
}
let apple:number =buy(2)
console.log('苹果的价格是:',appple)
八、对象

对象作用:用于描述一个物体的特征和行为

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

定义对象的语法:let 对象名称:对象结构类型=值

对象的使用:

1.通过Interface接口约定对象结构类型

interface 接口名{
    属性1:类型1
    属性2:类型2
    属性3:类型3
}

interface Person{
    name:string
    age:number
    weight:number
}

2.定义对象并使用:对象名。属性名

// 1. 定义接口
interface Person {
  name: string
  age: number
  weight: number
}

// 2. 基于接口,定义对象
let ym: Person =  {
  name: '杨幂',
  age: 18,
  weight: 90
}

console.log('名字', ym.name)
console.log('年龄', ym.age)
九、对象-方法

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

1.约定方法类型

interface 接口名称 {
  方法名: (参数:类型) => 返回值类型
}

interface Person{
  dance: () => void
  sing: (song: string) => void
}

2.添加方法(箭头函数)

let ym: Person = {
  dance: () => {
    console.log('杨幂说', '我来跳个舞')
  },
  sing: (song: string) => {
    console.log('杨幂说', '我来唱首', song)
  }
}


// 对象名.方法名(参数)
ym.dance()
ym.sing('爱的供养')
十、联合类型

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

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

let judge: number | string = 100

judge = 'A+'
judge = '优秀'

console.log('年终考试评价', judge)

// 联合类型可以将变量值约定在一组数据范围内进行选择
let gender: 'man' | 'woman' | 'secret' = 'secret'
十一、枚举类型

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

enum 枚举名 {
  常量1 = 值,
  常量2 = 值,
}
// 1. 定义枚举 (定义常量列表)
enum ThemeColor {
  Red = '#ff0f29',
  Orange = '#ff7100',
  Green = '#30b30e'
}

// 2. 给变量设定枚举类型
let color: ThemeColor = ThemeColor.Orange
console.log('color', color)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/906297.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Weblogic漏洞复现(Vulhub)

0x00前言 docker 安装 Docker的安装_docker安装-CSDN博客 docker的镜像 1.可以在阿里云上的容器服务找到镜像源。 2.也可以使用下面的镜像源,时快时慢不稳定。 {"registry-mirrors":["https://docker.registry.cyou","https://docke…

Nico,从零开始干掉Appium,移动端自动化测试框架实现

开头先让我碎碎念一波~去年差不多时间发布了一篇《 UiAutomator Nico,一个基于纯 adb 命令实现的安卓自动化测试框》(https://testerhome.com/topics/37042), 由于种种原因 (详见此篇帖子) 当时选择了用纯 adb 命令来实现安卓自动…

音视频入门基础:FLV专题(22)——FFmpeg源码中,获取FLV文件音频信息的实现(中)

本文接着《音视频入门基础:FLV专题(21)——FFmpeg源码中,获取FLV文件音频信息的实现(上)》,继续讲解FFmpeg获取FLV文件的音频信息到底是从哪个地方获取的。本文的一级标题从“四”开始。 四、音…

scala 权限

一.访问权限 idea实例 关于protected:

flex 布局比较容易犯的错误 出现边界超出的预想的情况

flex 布局比较容易犯的错误 出现边界超出的预想的情况 如图 当使用flex布局时,设置flex:1 或者是flex:x 时 如果没有多层嵌套的flex布局,内容超出flex:1规定的后,仍然会撑大融器 在flex:1 处设置 overflow:hidden 即可超出后不显…

【vue项目中添加告警音频提示音】

一、前提: 由于浏览器限制不能自动触发音频文件播放,所以实现此类功能时,需要添加触发事件,举例如下: 1、页面添加打开告警声音开关按钮 2、首次进入页面时添加交互弹窗提示:是否允许播放音频 以上两种方…

Java 用户随机选择导入ZIP文件,解压内部word模板并入库,Windows/可视化Linux系统某麒麟国防系统...均可适配

1.效果 压缩包内部文件 2.依赖 <!--支持Zip--><dependency><groupId>net.lingala.zip4j</groupId><artifactId>zip4j</artifactId><version>2.11.5</version></dependency>总之是要File类变MultipartFile类型的 好像是…

反悔贪心

Problem - C - Codeforces&#xff08;初识反悔贪心&#xff09; 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; #include <bits/stdc.h> #define fi first #define se secondusing namespace std; typedef pair<int,int> PII;string a, b, ans; bool vis…

Cisco Packet Tracer 8.0 路由器静态路由配置

文章目录 静态路由简介一、定义与特点二、配置与命令三、优点与缺点四、应用场景 一&#xff0c;搭建拓扑图二&#xff0c;配置pc IP地址三&#xff0c;pc0 ping pc1 timeout四&#xff0c;配置路由器Router0五&#xff0c;配置路由器Router1六&#xff0c;测试 静态路由简介 …

burp靶场-Remote code execution via web shell upload

Lab: 通过 Web shell 上传远程执行代码 This lab contains a vulnerable image upload function. It doesn’t perform any validation on the files users upload before storing them on the server’s filesystem. 此实验室包含易受攻击的映像上传功能。在将用户上传的文件…

极简实现酷炫动效:Flutter隐式动画指南第二篇之一些酷炫的隐式动画效果

目录 前言 1.弹性放大按钮效果 2.旋转和缩放组合动画 3.颜色渐变背景动画 4.缩放进出效果 前言 在上一篇文章中&#xff0c;我们介绍了Flutter中的隐式动画的一些相关知识&#xff0c;在这篇文章中,我们可以结合多个隐式动画 Widget 在 Flutter 中创建一些酷炫的视觉效果&…

后端:Spring-1

文章目录 1. 了解 spring(Spring Framework)2. 基于maven搭建Spring框架2.1 纯xml配置方式来实现Spring2.2 注解方式来实现Spring3. Java Config类来实现Spring 2.4 总结 1. 了解 spring(Spring Framework) 传统方式构建spring(指的是Spring Framework)项目&#xff0c;导入依…

qt QStackedLayout详解

QStackedLayout类提供了一种布局方式&#xff0c;使得在同一时间内只有一个子部件&#xff08;或称为页面&#xff09;是可见的。这些子部件被维护在一个堆栈中&#xff0c;用户可以通过切换来显示不同的子部件&#xff0c;适合用在需要动态显示不同界面的场景&#xff0c;如向…

C++进阶:C++11的新特性

✨✨所属专栏&#xff1a;C✨✨ ✨✨作者主页&#xff1a;嶔某✨✨ C11的发展历史 2011年&#xff0c;C标准委员会发布了C11标准&#xff0c;这是C的一次巨大飞跃&#xff0c;引入了许多重要的新特性&#xff0c;如智能指针、lambda表达式、并发编程支持等。这一版本的发布对C社…

GA/T1400视图库平台EasyCVR视频分析设备平台微信H5小程序:智能视频监控的新篇章

GA/T1400视图库平台EasyCVR是一款综合性的视频管理工具&#xff0c;它兼容Windows、Linux&#xff08;包括CentOS和Ubuntu&#xff09;以及国产操作系统。这个平台不仅能够接入多种协议&#xff0c;还能将不同格式的视频数据统一转换为标准化的视频流&#xff0c;通过无需插件的…

OpenAI推出搜索GPT,进军搜索引擎领域

OpenAI 推出了一项新功能——Search GPT&#xff0c;为 ChatGPT 引入实时网络搜索功能&#xff0c;使其站上与 Google 和 Bing 等搜索巨头竞争的舞台。 OpenAI 产品的重大变化&#xff0c;Search GPT 承诺提供快捷、实时的答案&#xff0c;并附上可靠来源的链接。 ChatGPT 一直…

Unity XR Interaction Toolkit 开发教程(3)快速配置交互:移动、抓取、UI交互【3.0以上版本】

获取完整课程以及答疑&#xff0c;工程文件下载&#xff1a; https://www.spatialxr.tech/ 视频试看链接&#xff1a; 3.快速配置交互&#xff1a;移动、抓取、UI交互【Unity XR Interaction Toolkit 跨平台开发教程】&#xff08;3.0以上版本&#xff09; 系列教程专栏&…

SE-Net模型实现猴痘病识别

项目源码获取方式见文章末尾&#xff01; 600多个深度学习项目资料&#xff0c;快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【DeepLabV3模型实现人体部位分割CIHP数据】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.…

深度学习之权重、偏差

1 权重偏差初始化 1.1 全都初始化为 0 偏差初始化陷阱&#xff1a; 都初始化为 0。 产生陷阱原因&#xff1a;因为并不知道在训练神经网络中每一个权重最后的值&#xff0c;但是如果进行了恰当的数据归一化后&#xff0c;我们可以有理由认为有一半的权重是正的&#xff0c;另…

企业物流管理数据仓库建设的全面指南

文章目录 一、物流管理目标二、总体要求三、数据分层和数据构成&#xff08;1&#xff09;数据分层&#xff08;2&#xff09;数据构成 四、数据存储五、数据建模和数据模型&#xff08;1&#xff09;数据建模&#xff08;2&#xff09;数据模型 六、总结 在企业物流管理中&…