关于HarmonyOS的学习

day14

一、数据类型转换

1.Number() 可以把其他的数据类型转成数值类型 ①把字符串类型转成数值类型 ②把布尔类型转成数值类型 ③把null和undefined转成数值类型

2.String() 把其他的类型转成字符串、toString() 把其他的类型转成字符串,括号里面可以转禁止 ①把数值转成字符串类型 ②把布尔转成字符串类型 ③把null和undefined转成字符串类型 ④toString()可以转进制

3.Boolean() 把其他的数据类型转成布尔类型 ①把数值转成布尔类型 ②把字符串转成布尔类型 ③把null和undefined转成布尔类型

4.注意点: ①如果字符串里面不是纯数字的情况,那么转成数值类型结果是NaN。如果是空字符串那么转成数值类型结果是0 ②把布尔值的true转成数值结果是1,布尔的false转成数值结果是0 ③把null转成数值类型结果是0,undefined转成数值结果是NaN ④把数值0和NaN转成布尔类型,结果是false。其他是true ⑤把空字符串转成布尔类型结果是false,如果空字符串里面有空格,那么结果是true ⑥如果是把字符串里面只有空格的这种情况转成数值的类型结果是0 ⑦把null和undefined转成布尔类型结果都是false

二、取小数位和半段是否为非数字

1.toFixed() 可以把小数位,并且会把数据转成字符串类型。会进行四舍五入 console.log(price.toFixed(2))

2.isNaN() 判断非数字,如果是非数字返回true,如果是数字返回false。会进行隐式数据类型转换

3.console.log(0.1 + 0.2 == 0.3) // false 原因:这个问题是由计算机系统产生,因为底层都是二进制,而二进制在表示某些小数的时候表示的不完整,会导致精度丢失,因此造成这种现象

解决方案:可以使用toFixed console.log((0.1 + 0.2).toFixed(2) == 0.3) // true

三、取整型和浮点型

1.parseInt() 只取数据里面的整型部分,如果遇到非整型(遇到非数字)的部分则停止提取。会把字符串转成数值类型

2.parseFloat() 会提取数据里面的小数部分,如果遇到非数字部分会停止提取。会把字符串转成数值类型

四、逻辑运算符注意点

逻辑运算符返回的结果不一定是以true和false来呈现的,会根据不同的运算符来给你呈现结果

console.log(10>5 && 10<20) console.log(1 && 0) // 0 console.log(1+2 && 0+1) // 1 console.log(1+2 || 0+1) // 3

五、分支选择结构

1.单分支选择结构 ​ + 作用 ​ => 用于判断 ​ + 语法 ​ => if(){} ​ + 说明 ​ => if属于系统的关键字,这里表示如果 ​ => ()小括号里面写的是判断条件,无论小括号写的是什么,最终都会转成布尔值来判断 ​ => {}花括号里面放的是最终条件成立需要执行的代码

2.双分支选择结构 ​ + 语法 ​ => if(){}else{} ​ + 说明 ​ => if、else属于系统的关键字,这里表示如果、否则 ​ => ()小括号里面写的是判断条件,无论小括号写的是什么,最终都会转成布尔值来判断 ​ => {}花括号里面放的是最终条件成立需要执行的代码 ​ => 无论条件成立还是不成立最终都会输出一个结果

3.多分支选择结构 ​ + 语法 ​ => if(){}else if{}...else{} ​ + 说明 ​ => if、else属于系统的关键字,这里表示如果、否则 ​ => ()小括号里面写的是判断条件,无论小括号写的是什么,最终都会转成布尔值来判断 ​ => {}花括号里面放的是最终条件成立需要执行的代码 ​ => 可以写多个判断条件,每一个条件对应一个结果

4.switch多分支结构 ​ + 作用 ​ => 可以做匹配,使用一个值去匹配一个结果,不需要你写判断,结构上更为清晰 ​ + 语法 ​ switch(){ ​ case '匹配值': ​ 匹配成功输出代码 ​ break ​ case '匹配值': ​ 匹配成功输出代码 ​ break ​ case '匹配值': ​ 匹配成功输出代码 ​ break ​ default: ​ 其他的情况 ​ } ​ + 说明 ​ => switch、case、default、break都是系统关键字 ​ => switch小括号里面写的是匹配条件,要求是一个变量,并且是全等于匹配(值和类型都要相等) ​ => case后面跟的是要匹配的值,case可以写多个 ​ => break是终止条件,防止穿透 ​ => default是默认值,和else作用是一样的

六、三目运算符

+ 语法 ​ => 条件 ? 成立条件输出结果 : 不成立条件输出结果 ​ + 作用 ​ => 可以对选择结构进行简化,但是一般用来简化双分支结构

判断一个数是奇数还是偶数? var num = prompt('请输入一个数字?') num%2==0 ? alert('偶数') : alert('奇数')

七、循环

1.while循环 ​ + 语法 ​ 开始的变量 ​ while(判断条件){ ​ 需要执行的代码 ​ 步长 ​ } ​ + 说明 ​ => while是系统关键字,这里直接叫做循环就行,不要翻译成其他的 ​ => while小括号里面放的是循环的结束条件 ​ => while循环每次执行,需要while循环体的外面给一个初始化的变量,作为循环的开始 ​ => 循环的步长需要添加,这个步长其实就是自增,也可以理解为变量更新

2.死循环 ​ + 循环的条件一直处于成立的状态下,代码会持续的执行下去,把这种现象称之为死循环 ​ + 形成死循环的条件 ​ => 条件一直为true ​ => 不写变量更新 ​ => ... ​ + 注意点 ​ => 千万不要写死循环,因为死循环会消耗电脑的性能,也会导致程序的崩溃

3.do while循环 ​ + 是while循环的一种变种形式,从while循环上改造而来的。和while循环的区别在于do while循环会先斩后奏(无论条件满足与否都会先执行一次) ​ + 语法 ​ do{ ​ 输出的代码 ​ 变量更新 ​ }while(判断条件) ​ + 说明 ​ => do、while是系统关键字 ​ => 无论条件满足与否都会先执行一次

场景:网络请求数据,如果请求的数据回来了,就使用这个数据循环,如果没有回来需要给用户一个提示 var data = 10 var i = 1 do{ if(data == null){ alert('网络请求失败') //可以终止循环的执行 break } console.log('后续的代码') i++ }while(i<=data)

4.for循环 ​ + 语法 ​ => for(变量初始化; 判断条件; 变量更新){ ​ 输出代码 ​ } ​ + 说明 ​ => for是系统关键字 ​ => for循环结构更为明确,不容易让你忘记写变量更新 ​ => for循环的执行步骤和while循环一样 ​ + 循环终止条件 ​ => continue 终止当前的循环,后续的循环会执行 ​ => break 终止整个循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值