• 鸿蒙 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

    1. // @ts-nocheck
    2. // @ts-nocheck
    3. import UIAbility from '@ohos.app.ability.UIAbility';
    4. import hilog from '@ohos.hilog';
    5. import window from '@ohos.window';
    6. import AbilityConstant from '@ohos.app.ability.AbilityConstant';
    7. export default class EntryAbility extends UIAbility {
    8. onCreate(want, launchParam) {
    9. let age = 18 //隐式声明一个number类型
    10. let state = true //隐式声明一个boolean类型
    11. if (age % 2 === 0) {
    12. // == 比较数据类型是否一致 不一致就会强制类型转换
    13. //===
    14. // typeScript中 '' 空字符串 , 0 数字0 ,'null' null,undefined 都会被认定为false ,其他为true
    15. console.log("偶数");
    16. } else {
    17. console.log("奇数");
    18. }
    19. //if 如果...条件成立 &&并且. 后面为true 则执行
    20. if (age > 18 && age < 66 && state) {
    21. console.log("符合条件满18 并且小于66 并且 state 为true");
    22. }
    23. if (age > 0) {
    24. console.log("age > 0");
    25. }
    26. else if (age < 0) {
    27. console.log("age < 0");
    28. } else {
    29. console.log("age = 0");
    30. }
    31. let name = undefined
    32. if (name) {
    33. //如果不是 undefined , null , 'null' , '', 0 则会执行
    34. }
    35. let value = 'A'
    36. switch (value) {
    37. case 'A':
    38. console.log('isA')
    39. break
    40. case 'B':
    41. console.log('isB')
    42. break
    43. default:
    44. console.log('isOther')
    45. break;
    46. }
    47. let index = 0
    48. while (index < 10) {
    49. index++
    50. console.log(index.toString());
    51. }
    52. let names = ['A', 'B']
    53. //普通循环
    54. for (let i = 0; i < names.length; i++) {
    55. console.log(names[i]);
    56. }
    57. //forEach 根据索引
    58. for (const i in names) {
    59. console.log(names[i]);
    60. }
    61. //forEach 根据值
    62. for (const name of names) {
    63. console.log(name)
    64. }
    65. //names.forEach()
    66. //function 定义方法
    67. function eat(name: string): void {
    68. console.log("eat" + name)
    69. }
    70. function add(a: number, b: number): number {
    71. return a + b
    72. }
    73. //等同于 add
    74. function add1(a: number, b: number) {
    75. return a + b
    76. }
    77. eat('apple')
    78. console.log(add1(1, 2).toString());
    79. //简写版function
    80. let sayHi = (name: string) => {
    81. console.log('Hi' + name);
    82. }
    83. let getValue = (value: number) => {
    84. return value++
    85. }
    86. sayHi('summer')
    87. console.log(getValue(1).toString())
    88. //传参 可选参数
    89. let sayHi2 = (name?: string) => {
    90. name = name ? name : 'test'
    91. console.log(name);
    92. }
    93. //不传参 使用默认参数
    94. let sayHi3 = (name: string = 'World') => {
    95. name = name ? name : 'test'
    96. console.log(name);
    97. }
    98. //枚举
    99. enum T {
    100. T1 = "T1",
    101. T2 = "T2",
    102. T3 = "T3"
    103. }
    104. //枚举 不写值 默认是 1-3
    105. enum T1 {
    106. T1,
    107. T2,
    108. T3
    109. }
    110. //接口
    111. interface IA {
    112. onClickListener(view: number): void
    113. }
    114. //定义类 实现接口
    115. class Iimp implements IA{
    116. constructor() {
    117. //构造方法 等同于Kotlin
    118. }
    119. onClickListener(view : number) : void{
    120. console.log("implements method");
    121. }
    122. }
    123. let typeA : Iimp = new IA()
    124. typeA.onClickListener(1)
    125. class A1 {
    126. private valueA1 : number
    127. private valueA2 : number
    128. constructor(index : number,index1 : number) {
    129. this.valueA1 = index;
    130. this.valueA2 = index1;
    131. }
    132. public area() : number{
    133. return this.valueA1;
    134. }
    135. }
    136. //extends 继承
    137. class A2 extends A1{
    138. constructor(index: number) {
    139. super(index,index)
    140. }
    141. }
    142. let a2 : A2 = new A2(1)
    143. a2.area()
    144. //模块开发 功能抽取 .ts文件 每个文件都是一个模块
    145. //export 表示可以导出
    146. export class BaseUtils{
    147. }
    148. //导出方法
    149. export function addNumber():void{
    150. }
    151. import {BaseUtils,addNumber} form '../Test2' //引用类 或者方法
    152. }
    153. }

  • 相关阅读:
    第五章 树 6 AcWing 1576. 再次树遍历
    使用 Python 创建您自己的NFT集合(二)NFT存储
    Scala最基础入门教程
    古记事法:Windows 下 16 位汇编环境搭建指南(DOSBox-X 篇)
    CentOs通过tar方式安装java虚拟机环境
    Python基础
    【科普向】什么是CPU、什么是GPU?本机Win11的CPU和GPU配置如何
    说话人识别声纹识别CAM++,ECAPA-TDNN等算法
    小程序如何设置首选配送公司
    大二暑假 + 大三上
  • 原文地址:https://blog.csdn.net/qq_29769851/article/details/139446167