基本数据类型
数值类型
数值类型在赋值的时候不需要带引号,其次在控制台上看到的颜色是蓝色
var n1 = 123
var n2 = 123.23
var n3 = 2e3 //表示的是2乘以10的3次方
console.log(n1)
var n1 = 0x11 //16进制,0x开头
var n1 = 0o11 //8进制,0o开头
var n2 = 0b11 //2进制,0b开头
var n3 = NaN //NaN:not a number 非数字
字符串类型
只要包在引号中的就是字符串,控制台上呈现的是白色
var s1 = '123'
var s1 = "123"
var s1 = "abc"
var s2 = `123`
//模板字符串 反引号
//支持文本内容的书写,同时也支持多行文本内容的书写(支持敲回车),也支持变量的解析${}
布尔类型
var b1 = true //在计算机存储的数字是1,表示的是真
var b1 = false //在计算机存储的数字是0,表示的是假
空
undefined :这里本该有一个值,但是没有;
null :有值,该值为null。
基本数据类型的检测
数据类型检测的原因:
1:想要明确确认一下该变量是否是想要的数据类型
2:在后面计算过程中或者代码书写的过程中,有的数据类型会发生改变,此时是需要确认一下改变之后的数据类型是什么
var a1 = 123
console.log(typeof a1)
console.log(typeof(a1))
var a2 = null
console.log(typeof a2) //空对象指针 object
console.log(typeof(a2)) //空对象指针 object
以上来看typeof()和typeof不带()的结果是一样的。
不一样的是()的优先级比较高
如果里面带有加法运算,且没有带小括号
这里的写法解析是从左往右解析的,左边的typeof解析了数据类型,之后与后面的数字进行拼接;
如果里面带有加法运算,且带有小括号
这里的写法解析是先解析()里面的,先进行运算,然后在解析结果的数据类型。
多个typeof同时使用,检测的结果必然是字符串(string)
基本数据类型的转换
转换为数值类型
1、可以用Number()
这个转换会把转换的数据当作整体来看,如果转换的是一个合法的数字,那么将会得到合法的数据,如果整体不是一个合法的数字,那么将会得到NaN,表示的是一个数值类型,而不是一个数字;转换布尔类型的时候,true是1,false是0
2、可以用parseInt()取整
不管转换的内容是什么,都是按照从左往右一位一位看的,如果第一位就不能转换为一个合法的数字,那么就直接给NaN,停止转换,如果第一位可以转换,那么就保留,继续看第二位,以此类推。
注意点:
1、不认识小数点
2、布尔值true与false 都是 NaN
3、可以用parseFloat()
不管转换的内容是什么,都是按照从左往右一位一位看的,如果第一位就不能转换为一个合法的数字,那么就直接给NaN,停止转换,如果第一位可以转换,那么就保留,继续看第二位,以此类推。
注意点:认识小数点,只认识一位小数点
4、非加法的数学运算
在进行数学运算的时候,只要不是加法,就会自动转成数值类型进行计算,乘法 除法 减法等
转换规则:和number方法一样,当成一个整体来看
转换成字符串
1、String()
语法:String(要转换的变量)
返回值:转换好的数据
注意点:任何数据都可以转换
2、toString()
语法:要转换的变量.toString() 小括号里面不需要书写任何内容
返回值:转换好的数据
注意点:undefined和null不能使用这个方法
3、进行加法运算
在JS中,加号(+)有两个含义
当符号任意一边是字符串的时候,就会进行字符串的拼接
只有放符号两边都是数字或者是布尔值的时候,才会进行数学运算
转换成布尔
Boolean()
0
空字符串(‘ ’)
undefined
null
NaN
以上这些都是false
JavaScript的运算符
数学运算符
指的就是数学运算的符号
- 加+
1、当符号任意一边是字符串的时候,进行字符串的拼接
2、只要符号两边都是数字或者布尔值的时候会进行数学运算
- 减-
- 乘*
- 除/
- 取余%
赋值运算符
进行赋值运算的符号
- = 赋值的意思,把右边的数据给到左边的变量
- += 加号和赋值符号的合作
- -= 减号和赋值符号的合作
- *= 乘号和赋值符号的合作
- /= 除号和赋值符号的合作
- %= 取余和赋值符号的合作
比较运算符
比较运算符,指的就是两个数据进行比较的符号,结果必然是一个布尔值
- 大于号>
左边大于右边,就是true
否则就是false
- 小于号<
右边大于左边,就是true
否则就是false
- 大于等于号>=
左边大于或者等于右边,就是true
否则就是false
- 小于等于号<=
右边大于或者等于左边,就是true
否则就是false
- ==等于
不考虑数据类型,只要值一样就是true
如果值不一样就是false
- ===全等于 等等于
只有值和数据类型都一样的时候,才是true
只要值和数据类型有一个不一样的时候,就是false
- !=不等
不考虑数据类型,只要值不一样就是true
如果两个值一样,就是false
- !==不全等
只有两个数据类型和值都一样的时候,得到的就是false
只有数据类型和值有一个一样的时候,得到的就是true
逻辑运算符
- && 与、 且
只有运算符两边都是true的时候,才会得到true
只要运算符任意一边是false,得到的结果就是false
- || 或
只要运算符两边任意一边是true,得到的结果就是true
只有两边结果都是false的时候,得到的结果才是false
- ! 非(取反)
本身是true,那么结果就是false
本身是false,那么结果就是true
自增自减运算符
一个符号带一个数据就能完成一个运算的符号
- ++ 自增
- 前置++
- 把++符号书写在变量的前面
- ++n
- 后置++
- 把++符号书写在变量的后面
- n++
- 相同点
- 只要++运算符执行了,那么变量的值一定会+1
- 不同点
- 在参与运算的时候不一样
- 前置++:先把变量的值修改为(自身+1),然后用修改过的值参与运算
- 后置++:先把变量本身的值拿过来参与运算,然后修改变量的值(自身+1)
- 前置++
- -- 自减
- 前置
- 把--符号书写在变量的前面
- --n
- 后置--
- 把--符号书写在变量的后面
- n--
- 相同点
- 只要--运算符执行了,那么变量的值一定会-1
- 不同点
- 在参与运算的时候不一样
- 前置--:先把变量的值修改为(自身-1),然后用修改过的值参与运算
- 后置--:先把变量本身的值拿过来参与运算,然后修改变量的值(自身-1)
- 前置