JS系列 · 数据类型 之 基本数据类型

200 阅读4分钟

简单数据类型

Number 类型

  • 数字类型,不区分整数、浮点数、特殊值(正无穷:infinity;负无穷:-infinity;),都是 Number 类型。

String 类型

  • 字符串类型,所有的字符串都是 String 类型。

Undefined 类型

  • undefined 本身是一个数据,表示未定义。
  • 变量只声明的时候值默认是 undefined。

Boolean 类型

  • Boolean 字面量: 只有 true 和 false 两个字面量的值,必须是小写字母。
  • 计算机内部存储:true为1,false为0

Null 类型

  • null 本身是一个数据。
  • 从逻辑角度,null 值表示一个空对象指针。
  • 如果定义的变量准备在将来用于保存对象,最好将该变量初始化为 null。

检测数据类型

  • 使用 typeof() 的方法进行数据检测。
  • 检测方式:在 typeof后面加小括号 () 执行,将要检测的数据放在小括号内部。(推荐使用)
        // 检测数类型
        var psd = "123123";
        console.log(typeof(psd)); //string
        console.log(typeof("asdsfd")); //string
        console.log(typeof(123123)); //number
        console.log(typeof(1.23123)); //number
        console.log(typeof(-123123)); //number

        console.log(typeof(true)); //boolean
        console.log(typeof(false)); //boolean

        console.log(typeof(Number)); //function
        console.log(typeof(String)); //function
        console.log(typeof(undefined)); //undefined
        console.log(typeof(Boolean)); //function
        console.log(typeof(null)); //object
        console.log(typeof(Object)); //undefined
  • 也可以将 typeof 作为关键字,后面加空格,空格后添加数据的方式,检测数据。

也可以简写:typeof作为关键字+空格+需要检测的数据(不推荐使用)

        console.log(typeof 123123); //number
        console.log(typeof(123 + 123)); //number
        console.log(typeof 123 + 123); //number123
  • JavaScript 语言是一门动态类型的语言,变量并没有一个单独的数据类型,而是会随着内部
    存储数据的变化,数据类型也会发生变化。
  • 变量的数据类型,与内部存储数据有关。
  • 将来使用变量时,需要知道内部存储的数据是什么类型,避免程序出错。
        // num 赋值  
        var num = 1;  
        console.log(typeof(num)); // number  
        // num 再次赋值  
        var num = true;  
        console.log(typeof(num)); // boolean  

数据类型转换

不同的数据类型之间,可以进行互相转换。

转换成字符串类型

.toString() 方法

String() 方法

有些值没有toString(),这个时候可以使用String()。比如:undefined和null

        // 数据类型转换
        // 转成 字符串类型
        console.log(true.toString()); //true

        console.log(String(123)); //123
        console.log(String(undefined)); //undefined
        console.log(String(null)); //null

+号的特殊性

  • 两边只要有一个是字符串,那么 + 就是字符串拼接功能
  • 两边如果都是数字,那么就是算术功能。

+号拼接字符串方式(两个不同或相同的数据类型使用“+”拼接得出字符串类型)

        // 字符串拼接: + 加号具有字符串连接性
        console.log("123" + 123); //123123
        console.log("abc" + 123); //abc123

转换成数值类型

Number() 方法

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

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

布尔值:true 转为 1,false 转为 0。

undefined:转为 NaN。

null:转为 0。

parseInt() 方法

parseInt() 方法:字符串转整数方法

作用:
第一,对浮点数进行取整操作; 第二,将字符串转为整数数字。
①对数字取整功能,直接舍弃小数部分,只保留整数。
②将字符串转为整数数字,也包含取整功能。

字符串中,必须是纯数字字符串或者数字字符开头的字符串,才能转换为正常数字,且只取整数部分,如果不是数字打头的字符串,会转换为 NaN。

parseFloat() 方法

parseFloat() 方法:字符串转浮点数方法

作用:将字符串转为浮点数数字。

要求:满足浮点数数字字符必须在字符串开始,如果不在开始返回值都是NaN。

应用

工作中,利用变量接收 prompt() 语句返回的用户输入的数据,检测数据类型后,得到的是 字符串类型。

如果想要获取的是数字类型的数据,则需要先将得到的字符串转数字,避免出现字符串参 与数学加法运算等。

转换成布尔类型

Boolean() 方法

转型函数 Boolean() 可以用于任何数据类型,将其他数据类型转为布尔类型的值。

转为 false :NaN、0、“”空字符串、null、undefined

转为 true :非0 非NaN数字、非空字符串