了解并学会JS的数据类型,看我这一篇文就够啦 。

64 阅读4分钟

一.JS的数据类型

JS中的值,无论是字面量还是变量,都有明确的类型

  • 数据类型分类(以基本数据类型为主)
    • Number 数字类型
      • 不区分整数、浮点数、特殊值,都是 Number 类型
    • String 字符串类型
      • 所有的字符串都是 String 类型
    • undefined undefined类型
      • ndefined本身就是一个数据,表示未定义,变量只声明不赋值的时候,值默认是 undefined
    • Boolean 布尔类型
      • Boolean 字面量:只有 true 和 false 两个字面量的值,必须是小写字母
      • 计算机内部存储:true 为 1,false 为 0
    • null null类型
      • null 本身就是一个数据
      • 从逻辑角度,null 值表示一个空对象指针
      • 如果定义的变量准备在将来用于保存对象,最好该变量初始化为 null
  • Object 对象类型(后续详细讲解)

HTML中

acce6a016c3efcdca6640f605fd81e3.png

控制台中

14a71b1ef43665ef2980bb9569df6cd.png

二.数据类型的检测

  • 为什么要有数据类型检测?
    • JS语言是一门动态类型的语言,变量并没有一个单独的数据类型,而是会随着内部存储数据的变化,数据类型也会发生变化
    • 变量的数据类型,与内部存储数据有关
    • 将来使用变量时,需要知道内部存储的数据是什么类型,避免程序出错
  • 数据检测方式
    • 检测方式:在 typeof 后面加小括号执行,将要检测的数据放在小括号内部

    • 任何数据都能准确检测出结果的方法:Object.prototype.toString.call

77894ad59f41f14817b8aea020128c7.png

三.数据类型转换(转数值 / 转字符串 / 转布尔)

A.转数值

  1. Number(数据)方法

    a. 转型函数Number()可以用于任何数据类型,将其他数据类型转为数字

    b. 字符串:纯数字字符串转为对应数字,空字符串空白字符串转为0,非空非纯数字字符串转为NaN

    c. 布尔值:true转为1,false转为0

    d. undefined:转为NaN

    e. null:转为0

1.png 2. parseInt()方法:字符串转整数方法

a. 对浮点数进行取整操作:对数字取整直接舍弃小数部分,只保留整数

b. 将字符串转为整数数字:将字符串转为整数数字,也包含取整功能

c. 字符串中,必须是纯数字字符串或者数字字符开头的字符串,才能转换为正常数字,且只取整数部分

d. 如果不是数字打头的字符串,会转换为NaN

2.png 3. parseFloat()方法:字符串转换点数方法

a. 将字符串转为浮点数数字

b.满足浮点数数字字符必须在字符串开始,如果不在开始返回值都是NaN

3.png

B.转字符串

  1. 用toString 方法转换

    a. number ,boolean 类型类型 可以调用

    b. undefined , null 不能使用 toString 方法

    c. 如果想将 undefined 或者 null 转换为 string 类型

     1. 可以通过 + '' 的方式
     2. String(变量)
    
  2. + 号拼接字符串方式 : num + “” ,当 + 两边一个操作符是字符串类型,一个操作符是其他类型的时候,会先把其他类型转换成字符串再进行字符串拼接,返回字符串

fb805b5aaddd76eb125670f223da164.png

C.转布尔

  1. Boolean(变量)方法
    • 转型函数Boolean()可以用于任何数据类型,将其他数据类型转为布尔类型的值
    • 转为false:NaN、0、“”空字符串、null、undefined
    • 转为true:非0 非NaN数字、非空字符串

四.运算符

1. 什么是运算符?

* 也叫操作符,是 JS 中发起运算最简单的方式,例如: 5 + 6
* 表达式的组成包含操作数和操作符,表达式会得到一个结果,然后用结果参与程序

2. JS 运算符分类

  • 算数运算符( + / - / * / / / % )
    • 运算顺序与数学中的运算顺序一致,先乘除取余,后加减,有小括号先算小括号
  • 赋值运算符( = / += / -= / *= / /= / %= )
  • 比较运算符( > / < / >= / <= / == / === / != / !== )
    • 比较结果只会返回一个布尔类型值,true 或者 false
  • 逻辑运算符( && / || / ! )
  • 自增自减运算符( ++ / -- )

a. 算术运算符

包含:- + * / % 用于表达式计算

a.png

b. 赋值运算符

包含:= += —= *= /= %=(a +=10 相当于 a=a+10)

用于给变量赋值

b.png

c. 比较运算符

包含:> < >= <= == ===

返回值为true 或 false

c.png

  1. == 相等运算 使用==来比较两个值时,值的类型不同,则会自动转换为相同的类型,然后在比较
  2. != 不相等运算 用来判断两个值是否不相等,如果不相等返回true,否则返回false(自动类型转换)
  3. === 全等运算 用来判断两个值是否全等,并判断类型是否相等(如果两个值的类型不同,直接返回false)
  4. !== 不全等运算 用来判断两个值是否不全等(如果两个值的类型不同,直接返回true)

d. 逻辑运算符(重点)

包含&& || !

  1. &&(逻辑与/逻辑且)
  •   有假则为假
    
  •   console.log(true && false)
    
  •   左侧为真时,返回右侧的值
    
  •   console.logfalse && true
  •   左侧为假时,返回左侧的值
    
    02. || (逻辑或)
  •    有真则为真
    
  •    console.log(true || false)
    
  •    左侧值为真时,返回左侧值
    
  •    console.log(false || true)
    
  •    左侧值为假时,返回右侧值
    
    03. !(非)
  •    返回值为truefalse
    
  •    console.log(!5//false
    
  •    console。log(!!5)//true   
    

d.png

e. 自增自减运算符

包含 ++ --

  1. 自增 ++
  • ++a :先加一后参与运算
    
  • a++ :先参与运算后加一
    
    02. 自减 --
  • --a :先减一后参与运算
    
  • a-- :先参与运算后减一
    

e.png