鸿蒙 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如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级