语句
If
语句
if
语句用于需要根据逻辑条件执行不同语句的场景。当逻辑条件为真时,执行对应的一组语句,否则执行另一组语句(如果有的话)。 else
部分也可能包含if
语句。
if
语句如下所示:
if (condition1) {
// 语句1
} else if (condition2) {
// 语句2
} else {
// else语句
}
typescript
条件表达式可以是任何类型。但是对于boolean
以外的类型,会进行隐式类型转换:
let s1 = 'Hello';
if (s1) {
console.log(s1); // 打印“Hello”
}
let s2 = 'World';
if (s2.length != 0) {
console.log(s2); // 打印“World”
}
typescript
Switch
语句
使用switch
语句来执行与switch
表达式值匹配的代码块。
switch
语句如下所示:
switch (expression) {
case label1: // 如果label1匹配,则执行
// ...
// 语句1
// ...
break; // 可省略
case label2:
case label3: // 如果label2或label3匹配,则执行
// ...
// 语句23
// ...
break; // 可省略
default:
// 默认语句
}
typescript
如果switch
表达式的值等于某个label的值,则执行相应的语句。
如果没有任何一个label值与表达式值相匹配,并且switch
具有default
子句,那么程序会执行default
子句对应的代码块。
break
语句(可选的)允许跳出switch
语句并继续执行switch
语句之后的语句。
如果没有break
语句,则执行switch
中的下一个label对应的代码块。
点击领取→【纯血版鸿蒙全套最新学习资料】
条件表达式
条件表达式由第一个表达式的布尔值来决定返回其它两个表达式中的哪一个。
示例如下:
condition ? expression1 : expression2
typescript
如果condition
的为真值(转换后为true
的值),则使用expression1
作为该表达式的结果;否则,使用expression2
。
示例:
let isValid = Math.random() > 0.5 ? true : false;
let message = isValid ? 'Valid' : 'Failed';
typescript
For
语句
for
语句会被重复执行,直到循环退出语句值为false
。
for
语句如下所示:
for ([init]; [condition]; [update]) {
statements
}
typescript
for
语句的执行流程如下:
1、 执行init
表达式(如有)。此表达式通常初始化一个或多个循环计数器。
2、 计算condition
。如果它为真值(转换后为true
的值),则执行循环主体的语句。如果它为假值(转换后为false
的值),则for
循环终止。
3、 执行循环主体的语句。
4、 如果有update
表达式,则执行该表达式。
5、 回到步骤2。
示例:
let sum = 0;
for (let i = 0; i < 10; i += 2) {
sum += i;
}
typescript
For-of
语句
使用for-of
语句可遍历数组或字符串。示例如下:
for (forVar of expression) {
statements
}
typescript
示例:
for (let ch of 'a string object') {
/* process ch */
}
typescript
While
语句
只要condition
为真值(转换后为true
的值),while
语句就会执行statements
语句。示例如下:
while (condition) {
statements
}
typescript
示例:
let n = 0;
let x = 0;
while (n < 3) {
n++;
x += n;
}
typescript
Do-while
语句
如果condition
的值为真值(转换后为true
的值),那么statements
语句会重复执行。示例如下:
do {
statements
} while (condition)
typescript
示例:
let i = 0;
do {
i += 1;
} while (i < 10)
typescript
Break
语句
使用break
语句可以终止循环语句或switch
。
示例:
let x = 0;
while (true) {
x++;
if (x > 5) {
break;
}
}
typescript
如果break
语句后带有标识符,则将控制流转移到该标识符所包含的语句块之外。
示例:
let x = 1
label: while (true) {
switch (x) {
case 1:
// statements
break label // 中断while语句
}
}
typescript
Continue
语句
continue
语句会停止当前循环迭代的执行,并将控制传递给下一个迭代。
示例:
let sum = 0;
for (let x = 0; x < 100; x++) {
if (x % 2 == 0) {
continue
}
sum += x;
}
typescript
Throw
和Try
语句
throw
语句用于抛出异常或错误:
throw new Error('this error')
typescript
try
语句用于捕获和处理异常或错误:
try {
// 可能发生异常的语句块
} catch (e) {
// 异常处理
}
typescript
下面的示例中throw
和try
语句用于处理除数为0的错误:
class ZeroDivisor extends Error {}
function divide (a: number, b: number): number{
if (b == 0) throw new ZeroDivisor();
return a / b;
}
function process (a: number, b: number) {
try {
let res = divide(a, b);
console.log('result: ' + res);
} catch (x) {
console.log('some error');
}
}
typescript
支持finally
语句:
function processData(s: string) {
let error: Error | null = null;
try {
console.log('Data processed: ' + s);
// ...
// 可能发生异常的语句
// ...
} catch (e) {
error = e as Error;
// ...
// 异常处理
// ...
} finally {
if (error != null) {
console.log(`Error caught: input='${s}', message='${error.message}'`);
}
}
}
最后
有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。
点击领取→【纯血版鸿蒙全套最新学习资料】(安全链接,放心点击)
这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、(南向驱动、嵌入式等)鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。
希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!
鸿蒙(HarmonyOS NEXT)最新学习路线
有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。
获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料
HarmonyOS Next 最新全套视频教程
《鸿蒙 (OpenHarmony)开发基础到实战手册》
OpenHarmony北向、南向开发环境搭建
《鸿蒙开发基础》
- ArkTS语言
- 安装DevEco Studio
- 运用你的第一个ArkTS应用
- ArkUI声明式UI开发
- .……
《鸿蒙开发进阶》
- Stage模型入门
- 网络管理
- 数据管理
- 电话服务
- 分布式应用开发
- 通知与窗口管理
- 多媒体技术
- 安全技能
- 任务管理
- WebGL
- 国际化开发
- 应用测试
- DFX面向未来设计
- 鸿蒙系统移植和裁剪定制
- ……
《鸿蒙进阶实战》
- ArkTS实践
- UIAbility应用
- 网络案例
- ……
大厂面试必问面试题
鸿蒙南向开发技术
鸿蒙APP开发必备
鸿蒙生态应用开发白皮书V2.0PDF
总结
总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。