1、类型转换
类型转换:把一种数据类型转换成另外一种数据类型
显示转换
1、转换为数字类型
Number(数据)
转换成功返回一个数字类型
转换失败则返回 NaN (例如数据里面包含非数字)
// 1. Number() 最常用的一种方式 推荐
// 1.1 把字符串转换为数字型
console.log(typeof Number('1')) // 1 number
console.log(Number('abcd')) // NaN 如果无法完成转换则返回NaN
partInt(数据)
只保留整数
如果数字开头的字符串,只保留整数数字 比如 12px 返回 12
console.log(parseInt('100px')) // 100
console.log(parseInt('100.5px')) // 100 parseInt() 只保留整数
partFloat(数据)
可以保留小数
如果数字开头的字符串,可以保留小数 比如 12.5px 返回 12.5
console.log(parseFloat('100.5px')) // 100.5 parseFloat() 可以返回小数
2、转换为字符类型
String(数据)
返回字符串类型
//转换为字符串类型
console.log(typeof String(1)) // '1' string
console.log(String(true)) // 'true' string
变量.toString(进制)
可以有进制转换
let num = 10
console.log(typeof num.toString()) // string
console.log(num.toString(10)) // string '10'
console.log(num.toString(8)) // string '12'
3、转换为布尔值
返回true或fasle
如果值为false、0、""、null、undefined、NaN,则返回false,其余返回true
// 有6种情况为false: false 0 '' null undefined NaN (无,没有)
// 其余的都为true
console.log(Boolean(false)) // false
console.log(Boolean(0)) // false
console.log(Boolean(1)) // true
console.log(Boolean('')) // false
console.log(Boolean(null)) // false
console.log(Boolean(undefined)) // false
console.log(Boolean(NaN)) // false
隐式转换
某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。
1、转换为数字型
算术运算符:- * / %
比较运算符:> == 等
+号作为正号可以把字符串转换为数字型
// 1. 隐式转换为数字型的运算符
// 1.1 算术运算符 - * / 比较运算符 > ==
console.log(8 - '3') // 5
console.log('1999' * '2') // 3998
console.log(3 > '1') // true
console.log(3 == '3') // true
// 1.2 + 正号使用的时候,也会把字符串转换为 数字型
console.log('123') // '123'
console.log(+'123') // 123
console.log(typeof +'123') // number
2、转化为字符串型
+加号字符串拼接
// 2. 隐式转换为字符串型的运算符 + 拼接字符串 两侧只要有一个是字符串,结果就是字符串
console.log('年龄' + 18)
console.log('' + 18) // '18'
3、转换为布尔型
!逻辑非
// 3. 隐式转换为布尔型的运算符 !逻辑非
console.log(!true) // false
console.log(!0) // true
console.log(!'') // true
console.log(!null) // true
console.log(!undefined) // true
console.log(!NaN) // true
console.log(!false) // true
console.log(!'年龄') // false
2、语句
表达式和语句
1、顺序结构
写几句就从上往下执行几句,这种叫顺序结构
2、分支结构
要根据条件选择执行代码,这种就叫分支结构
if分支语句
if(条件表达式) {
// 满足条件要执行的语句
}
小括号内的条件结果是布尔值,为 true 时,进入大括号里执行代码;为false,则不执行大括号里面代码
小括号内的结果若不是布尔类型时,会发生类型转换为布尔值,类似Boolean()
if双分支语句
if (条件表达式){
// 满足条件要执行的语句
} else {
// 不满足条件要执行的语句
}
// let score = +prompt('请您输入考试成绩:')
// if (score >= 700) {
// alert('恭喜您,考入深圳大学')
// } else {
// alert('非常抱歉,明年再战!')
// }
if多分支语句
if (条件1){
代码1
} else if (条件2){
代码2
} else if (条件3){
代码3
} else {
其他代码
}
// 1. 用户输入成绩
let score = +prompt('请您输入考试成绩:')
// 2. 根据成绩判断输出不同的结果
if (score >= 90) {
alert('优秀,棒棒棒~')
} else if (score >= 70) {
alert('良好,棒棒~')
} else if (score >= 60) {
alert('及格,棒~')
} else {
alert('不及格,好好加油,你可以的~')
}
三元运算符(三元表达式)
条件 ? 表达式1 : 表达式2
// 三元运算符(三元表达式)
// 1. 语法格式
// 条件 ? 表达式1 : 表达式2
// 2. 执行过程
// 2.1 如果条件为真,则执行表达式1
// 2.2 如果条件为假,则执行表达式2
// 3. 验证
// 5 > 3 ? '真的' : '假的'
console.log(5 < 3 ? '真的' : '假的')
switch语句
使用场景: 适合于有多个条件的时候,也属于分支语句 注意:
- switch case语句一般用于等值判断, if适合于区间判断
- switchcase一般需要配合break关键字使用 没有break会造成case穿透
- if 多分支语句开发要比switch更重要,使用也更多
switch分支语句
1. 语法
switch (表达式) {
case 值1:
代码1
break
case 值2:
代码2
break
...
default:
代码n
}
let fruits = '橘子'
switch (fruits) {
case '香蕉':
alert('香蕉的价格是: 3元/斤')
break
case '苹果':
alert('苹果的价格是: 4元/斤')
break
case '橘子':
alert('橘子的价格是: 2元/斤')
break
default:
alert('没有查到此水果')
}
3、循环结构
某段代码被重复执行,就叫循环结构
循环语句
使用场景:重复执行 指定的一段代码
while循环
while : 在…. 期间, 所以 while循环 就是在满足条件期间,重复执行某些代码。
while (条件表达式) {
// 循环体
}
let i = 1
while (i <= 3) {
document.write('深圳大学~<br>')
i++ // 这里千万不要忘了变量自增否则造成死循环
}
循环三要素:
1.初始值 (经常用变量)
2.循环条件
3.变量计数(常用自增或者自减)
for循环
作用:重复执行指定的一段代码
for (初始值; 循环条件; 变量计数) {
// 满足条件执行的循环体
}
for (let i = 1; i <= 3; i++) {
document.write('深圳大学~ <br>')
}
终止循环
break 中止整个循环,一般用于结果已经得到, 后续的循环不需要的时候可以使用(提高效率)
continue 终止本次循环,一般用于排除或者跳过某一个选项的时候
for (let i = 1; i <= 6; i++) {
document.write(`我吃第${i}个包子 <br>`)
if (i === 3) {
//吃到第3个已经饱了,则跳出循环
break
}
}
for (let i = 1; i <= 6; i++) {
if (i === 2) {
continue
// 吃到第二个 不喜欢吃 跳过这个 吃下一个
}
document.write(`我吃第${i}个包子 <br>`)
}
无限循环
1.while(true) 来构造“无限”循环,需要使用break退出循环。
// while(true) 无限循环
while (true) {
let love = prompt('你爱我吗?')
if (love === '爱') {
break
}
}
2.for(;;) 也可以来构造“无限”循环,同样需要使用break退出循环。
// for(;;) 无限循环
for (; ;) {
let love = prompt('你爱我吗?')
if (love === '爱') {
break
}
}
总结
本文记录了一些JavaScript基础语法使用。