JavaScript基础(一)
JavaScript数据类型:
number 数字型 string 字符串型 null 空 Undefined 缺少值(申明了变量但是没有初始化) Boolean 布尔型(返回true或false) NaN 非数字类型 JavaScript数值类型的转换:
Number()
:可以用于任何的数据类型parseInt
:提取 整数数值paseFloat
:提取浮点数值
如何转换数据类型
// 隐式转换 console.log(11 + 11)// 都是number类型,输出22 console.log('11' + 11);//存在string类型,默认将另一个也转为string类型 console.log(11 + '11');//存在string类型,默认将另一个也转为string类型 console.log(+'11');//前边为+号,将''里的内容转为number类型 console.log('11' - '11');//减号可以将string类型转为number 并相减 console.log('11' / '11');//除号可以将string类型转为number 并相除 console.log('11' * '11');//乘号可以将string类型转为number 并相乘
//显式转换 prompt默认为string类型,转换为number类型 let num1 = Number(prompt('请输入第一个数字')) let num2 = Number(prompt('请输入第二个数字')) alert(`两个数相加的和为:${num1 + num2}`)*/
let name = prompt('请输入您的姓名') let age = prompt('请输入您的年龄') document.write(`我叫${name},今年${age}岁了`) // typeof 检查变量是什么类型 document.write(typeof name)
JavaScript运算符
运算符(operator)也被称为操作符,是用于实现赋值,比较和执行算数运算等功能的符号
JavaScript中常用的运算符有:
算数运算符
表达式和返回值
表达式: 是由数字、运算符、变量等以能求的数值的有意义排列方法所得的组合
简单理解:是数字、运算符、变量等组成的式子
// 加减乘除 console.log(1 + 1) // 2 console.log(1 - 1) // 0 console.log(1 * 1) // 1 console.log(1 / 1) // 1// 取余 % console.log(5 % 3) // 2 console.log(4 % 2) // 0 console.log(10 % 3) // 1
递增和递减运算符
如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减(--)运算符来完成。在JavaScript中,递增(++)和递减(--)既可以放在变量前面,也可以放在变量的后面。放在变量前面时,我们可以称为前置递增(递减)运算符,放在变量后面时,我们可以称为后置递增(递减)运算符。
注意:递增和递减运算符必须配合变量一起使用,前置递增(递减)运算符先计算,后赋值后置递增(递减)运算符先赋值,后计算
// 1.前置递增运算符 let age = 18 ++age console.log(age) //输出结果 19//2.后置递增运算符 let age1 = 20 age1++ console.log(age1) //输出结果 21// 3.前置递减运算符 let age2 = 18 --age2 console.log(age2) //输出结果 17// 3.后置递减运算符 let age3 = 20 age3-- console.log(age3) //输出结果 19
比较运算符
比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true或false)作为比较运算的结果。
运算符名称 说明 < 小于号 > 大于号 >= 大于等于号 <= 小于等于号 == 判断号(判断是否等于 会转型) != 不等号 === !== 全等(全不等) 要求值和数据类型必须完全一致(不一致)
符号 作用 用法 = 赋值 把右边的值给左边 == 判断 判断两边是否相等(注意此时有隐式转换) === 全等 判断两边的值和数据类型是否完全相同 let num1 = 10 let num2 = 20 console.log(num1 num2) //返回false console.log(num1 >= num2) //返回false console.log(num1 >= num2) //返回false console.log(num1 == num2) //返回false console.log(num1 != num2) //返回true console.log(num1 === num2) //返回false console.log(num1 !== 'num2') //返回true
逻辑运算符
逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值
逻辑运算符 说明 案例 && "逻辑与",简称“与” and true && false || “逻辑或”,简称“或” or true || false ! "逻辑非",简称"非" not !true // 逻辑与 && 判断两边的的条件是否同时满足条件时,如果有一边不满足,则返回false,如果两边都满足,则返回true console.log(3 > 5 && 3 > 2) //false console.log(3 2) //true console.log(3 > 5 && 3 < 2) //false console.log(3 2) //true//逻辑或 || 判断两边条件,如果都为false,则返回false,如果有一边为true,则返回true console.log(3 2) //true console.log(3 > 5 || 3 > 2) //true console.log(3 > 5 || 3 < 2) //false//逻辑非 ! 判断如果不是true,则返回false,如果不是false,则返回true console.log(!false) //true console.log(!true) //false
赋值运算符
用来把数据赋值给变量的运算符
赋值运算符 说明 案例 = 直接赋值 let uname = '我是名字' +=、-= 加、减一个数后在赋值 let age = 10 age+=5 // 15
*=、/=、%= 乘、除、取余后再赋值 let age = 2 age*=5 //10
运算符优先级
优先级 运算符 顺序 1 小括号 () 2 一元运算符 ++ -- ! 3 算数运算符 先乘除,后加减 4 关系运算符 > >= < <= 5 相等运算符 == != === !== 6 逻辑运算符 先&& 后|| 7 赋值运算符 = 8 逗号运算符 ,
switch语句和if else if语句的区别
- 一般情况下,他们两个可以相互替换
- switch...case 语句通常处理case为比较确定值得情况,而if...else...语句更加灵活,常用于范围判断(大于、等于某个范围)
- switch语句进行条件判断后直接执行到程序的条件语句,效率更高。而if...else语句有几种条件,就得判断多少次。
- 当分支较少时,if...else语句执行效率比switch语句高。
- 当分支较多时,switch语句执行效率比较高,而且结构更清晰。