TypeScript学习笔记、鸿蒙开发学习笔记

 变量定义方式

# 变量声明
let msg: string = 'douzi'
console.log(msg)
let num: number = 20
console.log(num)
let end: boolean = true
console.log("end=" + end)
let a: any = 10
a = 'douzi'
console.log(a)
let p = {name:"douzi",age:20}
console.log(p.name)
console.log("age=" + p['age'])
let names: Array<string> = ["douzi","douzi1"]
console.log(names[0])
let ages: number[] = [20,21]
console.log("age1=" + ages[1])

 条件定义方式

# 条件语法
if(num % 2 == 0) {console.log("num 是偶数")
}else {console.log("num 是奇数")
}if (num > 0) {console.log("num 是正数")
}else if(num < 0){console.log("num 是负数")
} else {console.log("num 是0")
}# switch 
switch(msg) {case 'douzi': {console.log("douzi")break}case 'douzi1': {console.log("douzi1")break}default: {console.log('douzi2')break}
}

 循环定义方式

# 循环语法
for(let i = 0; i < 10; i++) {console.log("for i=" + i)
}let i = 0;
while(i < 10) {console.log('while i=' + i ++)
}let names: Array<string> = ["douzi","yuehua"]
// for in 迭代器,获取数组角标  const = let
for (const i in names) {console.log(i + "=" + names[i])
}
// for of 迭代器,获取数组元素
for (const name of names) {console.log("of name = " + name)
}

 函数定义方式

# 无返回值函数  :void 可以省略
function helloWorld(name:String, age:number): void {console.log("name=" + name + ",age=" + age + ",Hello World!")
}# 无返回值函数简写方式
let helloWorld = (name:String, age:number) => {console.log("name=" + name + ",age=" + age + ",Hello World!")
}helloWorld('douzi', 40)# 有返回值函数
function sum(x: number, y: number): number {return x + y
}# 有返回值函数简写方式
let sum = (x: number, y: number): number => {return x + y
}
let result = sum(10, 20)
console.log("10 + 20 = " + result)# 可选参数,?代表参数 可传 可不传
let sayHello = (name ?:String) => {name = name ? name : 'yuehua'console.log("Hello " + name)
}
sayHello()
sayHello('douzi')# 入参默认值 当不传参数时,使用默认值
let sayHello = (name :String = 'yuehua') => {console.log("Hello " + name)
}
sayHello()
sayHello('douzi')

类和接口的定义

# 接口继承
enum Msg {HI = 'Hi',HELLO = 'Hello'
}interface A {say(msg: Msg): void
}class B implements A {say(msg: Msg) {console.log(msg + ", I am B")}
}let a:A = new B()
a.say(Msg.HELLO)# 类继承
class Rectangle {private width: numberprivate height: numberconstructor(width: number,height: number) {this.height = height;this.width = width}    public area(): number {return this.width * this.height}
}
class Square extends Rectangle {constructor(side: number) {super(side, side)}
}let s:Square = new Square(5)
console.log('正方形边为5的area=' + s.area())

ets文件中的重要 关键字

struct Index   自定义组件:可复用的UI单元

@Component    自定义组件

@Entry              当前组件是入口组件

@State              标记变量为状态变量,值变化会触发UI刷新

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hls转流服务的nginx配置和一些脚本

前言 当今&#xff0c;流媒体服务已成为互联网中不可或缺的重要组成部分。HLS&#xff08;HTTP Live Streaming&#xff09;作为一种流媒体传输协议&#xff0c;被广泛应用于视频直播、点播等应用场景中。而Nginx作为一款高性能的Web服务器&#xff0c;也可以被用于构建HLS转流…

《每天十分钟》-红宝书第4版-集合引用类型(二)

接着奏乐接着抄&#xff0c;续着上篇的数组 迭代器方法 const a ["zhangsan", "lisi", "wangwu"]; // 因为这些方法都返回迭代器&#xff0c;所以可以将它们的内容 // 通过 Array.from()直接转换为数组实例 const aKeys Array.from(a.keys(…

cmake-将源文件编译为可执行文件

文章目录 准备工作创建cmake文件编译源代码需要的文件不在同一个文件夹的情况 准备工作 首先我们准备三个文件 add.h int add(int a,int b);add.cpp int add(int a,int b) {return ab; }main.cpp #include "add.h" #include <iostream> int main() {in…

Multi-Concept Customization of Text-to-Image Diffusion——【代码复现】

本文是发表于CVPR 2023上的一篇论文&#xff1a;[2212.04488] Multi-Concept Customization of Text-to-Image Diffusion (arxiv.org) 一、引言 本文主要做的工作是对stable-diffusion的预训练模型进行微调&#xff0c;需要的显存相对较多&#xff0c;论文中测试时是在两块GP…

ssh远程登录协议

目录 一、ssh协议定义及特点 &#xff08;一&#xff09;ssh协议简介 &#xff08;二&#xff09;ssh协议的主要特点 二、ssh传输原理 三、sshd服务 &#xff08;一&#xff09;配置文件 &#xff08;二&#xff09;基本用法 1.直接连接 2.连接指定用户 3.指定端口号…

设计模式之策略模式【行为型模式】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档> 学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某…

谷歌推广该选择SEO还是Ads?谷歌技巧分享及实战

众所周知&#xff0c;谷歌是全球最大线上搜索引擎&#xff0c;已经成为消费者在进行线上购物时不可或缺的重要搜索工具&#xff0c;全球用户每天在谷歌上有着几十亿次的搜索行为。 所以现在越来越多的跨境丝氨酸选择在Google上投放广告&#xff0c;这也给卖家带来了非常精准的…

解决防爬虫机制方法(一)

最近为了完成学校的大数据的作业&#xff0c;老师要我们爬一个的网站&#xff0c;里面有还算不错的防爬机制&#xff0c;忙活了几天&#xff0c;总结出一些常见的防爬机制的应对方法&#xff0c;方法均来自个人实战总结&#xff0c;非专业爬虫角度分析 1.响应时间过快 1.1网速…

十分钟教你在 k8s 中部署一个前后端应用

好多开发人员&#xff0c;尤其是没接触过 k8s 的人员对如何在k8s中部署一个 前后端应用很模糊&#xff0c;不知如何下手&#xff0c;所以本篇讲一下如何快速在 k8s 部署一个前后端应用&#xff0c;让大家对k8s有个快速认识 前置依赖 k8s集群&#xff0c;如果没有安装&#xff0…

什么是RoPE-旋转位置编码?

RoPE位置编码是大模型中最常见的位置编码之一。像是谷歌的PaLM和meta的LLaMA等开源大模型都是RoPE位置编码&#xff0c;那么RoPE有什么特点呢&#xff1f; 本文将介绍如下内容&#xff1a; RoPE旋转位置编码概要什么是位置编码&#xff1f;RoPE及其特点总结 一、RoPE旋转位置…

refs传值

父组件和子组件同时展示 父组件&#xff1a; <div><el-button click"showdialog">点击</el-button><div><UploadFile ref"child"></UploadFile></div></div>created () {this.init(); }, methods:{init …

stm32学习笔记:DMA

每个DMA通道硬件触发源是不一样的&#xff0c;要使用某个外设的硬件触发源&#xff0c;就必须使用它连接的那个通道 12个独立可配置的通道&#xff1a;DMA1(7个通道)&#xff0c;DMA2(5个通道) 每个通道都支持软件触发和特定的硬件触发 C8T6 DMA资源&#xff1a;DMA1 &#xff…

Python自动化我选DrissionPage,弃用Selenium

DrissionPage 是一个基于 python 的网页自动化工具。 它既能控制浏览器&#xff0c;也能收发数据包&#xff0c;还能把两者合而为一。 可兼顾浏览器自动化的便利性和 requests 的高效率。 它功能强大&#xff0c;内置无数人性化设计和便捷功能。 它的语法简洁而优雅&#x…

数据库和表的操作

文章目录 前言一、库的操作创建数据库字符集和校验规则操纵数据库查看数据库显示创建语句修改数据库删除数据库备份和恢复数据库还原查看连接情况 二、表的操作创建表查看表结构修改表修改表名添加一列修改某一列属性删除某一列 删除表 前言 一、库的操作 创建数据库 语法&am…

【Python机器学习】分类器的不确定估计——决策函数

scikit-learn接口的分类器能够给出预测的不确定度估计&#xff0c;一般来说&#xff0c;分类器会预测一个测试点属于哪个类别&#xff0c;还包括它对这个预测的置信程度。 scikit-learn中有两个函数可以用于获取分类器的不确定度估计&#xff1a;decidion_function和predict_pr…

day06

1.八大基本数据类型整型: byte short int long 浮点: double float字符: char布尔: boolean2.声明变量的语法格式数据类型 变量名字 初始化的值; 3.使用for循环打印等腰三角形for (int i 1; i < 4; i) {for (int j 1; j < 4 - i; j) {System.out.print(" &qu…

快速获取商品条码查询API接口python代码

商品条码查询API实现了对商品条码信息的快速获取和准确识别。这个接口在电子商务、分销溯源、商超服务等领域具有应用市场&#xff0c;通过此接口获取商品所包含的详细信息。 首先&#xff0c;使用数据平台该API接口需要先注册后申请此API接口。申请成功后使用个人中心的API秘…

计算机毕业设计----SSH电子相册管理系统

项目介绍 本项目分为普通用户与管理员两个角色&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登陆,用户信息管理,登陆密码修改等功能。 用户角色包含以下功能&#xff1a; 用户登陆,个人信息管理,相册管理,上传照片等功能。 环境需要 1.运行环境&#xff1a;最好…

高效办公:在文件夹名称左边插入关键字,提高文件管理效率

在繁忙的工作环境中&#xff0c;经常要处理大量的文件和文件夹。有效的文件管理是一个挑战&#xff0c;大量的文件和文件夹难以找到所需的资料。下面一起来看云炫文件管理器如何在文件夹名称左边批量插入关键字。 文件夹名称左边添加关键字前后对比图。 文件夹名称左边批量插…

P1379 八数码难题

题目描述 在 33 的棋盘上&#xff0c;摆有八个棋子&#xff0c;每个棋子上标有 1 至 8 的某一数字。棋盘中留有一个空格&#xff0c;空格用 0 来表示。空格周围的棋子可以移到空格中。要求解的问题是&#xff1a;给出一种初始布局&#xff08;初始状态&#xff09;和目标布局&…