鸿蒙 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 ,其他为true

      console.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 = undefined
    if (name) {
      //如果不是 undefined  , null , 'null' , '', 0 则会执行
    }

    let value = 'A'
    switch (value) {
      case 'A':
        console.log('isA')
        break
      case 'B':
        console.log('isB')
        break
      default:
        console.log('isOther')
        break;
    }

    let index = 0
    while (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
    }

    //等同于 add
    function add1(a: number, b: number) {
      return a + b
    }

    eat('apple')
    console.log(add1(1, 2).toString());

    //简写版function
    let 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-3
    enum 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 : number
      private valueA2 : number
      constructor(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' //引用类 或者方法
  





  }
}
相关推荐
亚历克斯神1 小时前
Flutter for OpenHarmony: Flutter 三方库 mutex 为鸿蒙异步任务提供可靠的临界资源互斥锁(并发安全基石)
android·数据库·安全·flutter·华为·harmonyos
钛态1 小时前
Flutter 三方库 smartstruct 鸿蒙化字段映射适配指南:介入静态预编译引擎扫除视图及数据模型双向强转类型错乱隐患,筑稳如磐石的企业级模型治理防线-适配鸿蒙 HarmonyOS ohos
flutter·华为·harmonyos
键盘鼓手苏苏1 小时前
Flutter 组件 csv2json 适配鸿蒙 HarmonyOS 实战:高性能异构数据转换,构建 CSV 流式解析与全栈式数据映射架构
flutter·harmonyos·鸿蒙·openharmony
雷帝木木1 小时前
Flutter 三方库 hrk_logging 的鸿蒙化适配指南 - 实现标准化分层日志记录、支持多目的地输出与日志分级过滤
flutter·harmonyos·鸿蒙·openharmony·hrk_logging
左手厨刀右手茼蒿1 小时前
Flutter 三方库 dio_compatibility_layer 的鸿蒙化适配指南 - 实现 Dio 跨主版本的平滑迁移、支持遗留拦截器兼容与网络请求架构稳定升级
flutter·harmonyos·鸿蒙·openharmony·dio_compatibility_layer
摘星编程1 小时前
开源力量:GitCode+昇腾NPU 部署Mistral-7B-Instruct-v0.2模型的技术探索与经验总结
华为·开源·huggingface·gitcode·昇腾
雷帝木木1 小时前
Flutter 三方库 hashids2 基于鸿蒙安全内核的深度隐匿映射适配:数字指纹泄露防御层、生成短小精悍唯一不可逆加盐哈希,护航全链路请求 URL 隐私-适配鸿蒙 HarmonyOS ohos
安全·flutter·harmonyos
HwJack203 小时前
HarmonyOS响应式布局与窗口监听:让界面像呼吸般灵动的艺术
ubuntu·华为·harmonyos
王码码20354 小时前
Flutter 组件 inappwebview_cookie_manager 适配 鸿蒙Harmony 实战 - 驾驭核心大 Web 容器缓存隧道、构建金融级政企应用绝对防串号跨域大隔离基座
flutter·harmonyos·鸿蒙·openharmony·inappwebview_cookie_manager
左手厨刀右手茼蒿4 小时前
Flutter 组件 ews 的适配 鸿蒙Harmony 实战 - 驾驭企业级 Exchange Web Services 协议、实现鸿蒙端政企办公同步与高安通讯隔离方案
flutter·harmonyos·鸿蒙·openharmony