JavaScript基础-02

93 阅读5分钟

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语句

使用场景: 适合于有多个条件的时候,也属于分支语句 注意:

  1. switch case语句一般用于等值判断, if适合于区间判断
  1. switchcase一般需要配合break关键字使用 没有break会造成case穿透
  1. if 多分支语句开发要比switch更重要,使用也更多
 switch分支语句
    1. 语法
    switch (表达式) {
        case1:
        代码1
        break
    case2:
        代码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基础语法使用。

小猫力量.png