鸿蒙 Harmony ArkTs开发教程三 流程控制

2024-06-05 05:20

本文主要是介绍鸿蒙 Harmony ArkTs开发教程三 流程控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关键字:if
else if
else
== 比较内容是否相等 / 较数据类型是否一致 不一致就会强制类型转换
=== 比较内容是否相等
& 前面为false 后面也会执行
&& 并且前面为true 后面也得为true
| 或 无论前面是否为true 都执行后面的判断
|| 或者 前面为true 后面则不执行
% 取模
// == 比较数据类型是否一致 不一致就会强制类型转换
// typeScript中 '' 空字符串 , 0 数字0 ,'null' null,undefined 都会被认定为false ,其他为true

switch(key) case value : break 基本等同于Java / JavaScript

// @ts-nocheck
// @ts-nocheck
import UIAbility from '@ohos.app.ability.UIAbility';
import hilog from '@ohos.hilog';
import window from '@ohos.window';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';export default class EntryAbility extends UIAbility {onCreate(want, launchParam) {let age = 18 //隐式声明一个number类型let state = true //隐式声明一个boolean类型if (age % 2 === 0) {// == 比较数据类型是否一致 不一致就会强制类型转换//===// typeScript中 '' 空字符串 , 0 数字0 ,'null' null,undefined 都会被认定为false ,其他为trueconsole.log("偶数");} else {console.log("奇数");}//if 如果...条件成立 &&并且. 后面为true 则执行if (age > 18 && age < 66 && state) {console.log("符合条件满18 并且小于66 并且 state 为true");}if (age > 0) {console.log("age > 0");}else if (age < 0) {console.log("age < 0");} else {console.log("age = 0");}let name = undefinedif (name) {//如果不是 undefined  , null , 'null' , '', 0 则会执行}let value = 'A'switch (value) {case 'A':console.log('isA')breakcase 'B':console.log('isB')breakdefault:console.log('isOther')break;}let index = 0while (index < 10) {index++console.log(index.toString());}let names = ['A', 'B']//普通循环for (let i = 0; i < names.length; i++) {console.log(names[i]);}//forEach 根据索引for (const i in names) {console.log(names[i]);}//forEach 根据值for (const name of names) {console.log(name)}//names.forEach()//function 定义方法function eat(name: string): void {console.log("eat" + name)}function add(a: number, b: number): number {return a + b}//等同于 addfunction add1(a: number, b: number) {return a + b}eat('apple')console.log(add1(1, 2).toString());//简写版functionlet sayHi = (name: string) => {console.log('Hi' + name);}let getValue = (value: number) => {return value++}sayHi('summer')console.log(getValue(1).toString())//传参 可选参数let sayHi2 = (name?: string) => {name = name ? name : 'test'console.log(name);}//不传参 使用默认参数let sayHi3 = (name: string = 'World') => {name = name ? name : 'test'console.log(name);}//枚举enum T {T1 = "T1",T2 = "T2",T3 = "T3"}//枚举 不写值 默认是 1-3enum T1 {T1,T2,T3}//接口interface IA {onClickListener(view: number): void}//定义类 实现接口class Iimp implements IA{constructor() {//构造方法 等同于Kotlin}onClickListener(view : number) : void{console.log("implements method");}}let typeA : Iimp = new IA()typeA.onClickListener(1)class A1 {private valueA1 : numberprivate valueA2 : numberconstructor(index : number,index1 : number) {this.valueA1 = index;this.valueA2 = index1;}public area() : number{return this.valueA1;}}//extends 继承class A2 extends A1{constructor(index: number) {super(index,index)}}let a2 : A2 = new A2(1)a2.area()//模块开发 功能抽取 .ts文件  每个文件都是一个模块//export 表示可以导出export class BaseUtils{}//导出方法export function addNumber():void{}import {BaseUtils,addNumber} form '../Test2' //引用类 或者方法}
}

这篇关于鸿蒙 Harmony ArkTs开发教程三 流程控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1032179

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件