前端三剑客之JavaScript———基本数据类型、基本数据类型的检测与转换、JavaScript的运算符

86 阅读6分钟

基本数据类型

数值类型

数值类型在赋值的时候不需要带引号,其次在控制台上看到的颜色是蓝色

var n1 = 123 
var n2 = 123.23 
var n3 = 2e3 //表示的是2乘以103次方 
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)