前端初学者的潦草笔记第二弹(真的不要点,真的会上当)

77 阅读4分钟

JavaScript的数据类型

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

  • js中的数据类型分为两类,一种是简单数据类型一种是复杂数据类型

1,简单数据的类型

简单数据类型分为五类 ,分别是 字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)

1.1 数字类型(Number)

数值(Number)类型用来定义数值,JavaScript 中不区分整数和小数(浮点数),统一使用 Number 类型表示

     var num1 = 123;     // 整数
     var num2 = 3.14;    // 浮点数

NaN:即非数值(Not a Number 的缩写),用来表示无效或未定义的数学运算结构,例如 0 除以 0。

1.2 字符串类型(String)

字符串(String)类型是一段以单引号''或双引号""包裹起来的文本,例如 '123'、"abc"。需要注意的是,单引号和双引号是定义字符串的不同方式,并不是字符串的一部分。

     var str1 = "123";  // 双引号
     var str2 = 'abc';    // 单引号

1.3 布尔类型(Boolean)

布尔(Boolean)类型只有两个值,true(真)或者 false(假),在做条件判断时使用的比较多,除了可以直接使用 true 或 false 来定义布尔类型的变量外,还可以通过一些表达式来得到布尔类型的值

     var a = true;   // 定义一个布尔值 true
     var b = false;  // 定义一个布尔值 false
     var c = 2 > 1;  // 表达式 2 > 1 成立
     console.log(c); // 输出为“真(true)”,所以 c 的值为布尔类型的 true
     var d = 2 < 1;  // 表达式 2 < 1 不成立 
     console.log(d); // 输出为“假(false)”,所以 c 的值为布尔类型的 false

1.4 空类型(Null)

Null 是一个只有一个值的特殊数据类型,表示一个“空”值,即不存在任何值,什么都没有,用来定义空对象指针。

1.5 未定义类型(Undefined)

Undefined 也是一个只有一个值的特殊数据类型,表示未定义。当我们声明一个变量但未给变量赋值时,这个变量的默认值就是 Undefined。

     var num;
     console.log(num);  // 输出 undefined

2,数据类型的检测

  • js语言是一门动态类型的语言,变量并没有一个单独的数据类型。
  • 变量的数据类型,与内部存储的数据有关。内部存储的数据的数据类型发生变化,变量的数据类型也会发生变化
  • 我们在使用变量时,需要知道内部存储的数据类型是什么数据类型,避免程序错误

2.1 检测方法

  • 使用typeof检测

1.数字(Number)类型检测

     var a = 1;
     console.log(typeof(a));  //  输出  number
  1. 字符串(String)类型检测
     var a = '1'console.log(typeof (a)) ; //  输出  string
  1. 布尔(Boolean)类型检测
     var a = trueconsole.log(typeof (a)); //  输出  boolean
  1. 空(Null)类型检测
     var a = null;
     console.log(typeof (a));  //  输出  object

情况特殊,需要别的检测方法

  1. 未定义(Undefined)类型检测
     var a ;
     console.log(typeof (a)); //  输出  undefined

3,数据类型的转换

3.1 转数字类型

  1. Number(数据)方法

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

  • 字符串:纯数字字符串转为对应数字,空字符串和空白字符串转为0 ,非空非纯数字字符串转为NaN
     var a = '1'
     console.log(Number(a)) //  输出 1 
     
     var a = ''
     console.log(Number(a)) //  输出 0
     
     var a = ' '
     console.log(Number(a)) //  输出 0
     
     var a = 'a'
     console.log(Number(a)) //  输出 NaN
  • 布尔值:true转为1,false转为0
     var a = true
     console.log(Number(a)) //  输出 1
     
     var a = false
     console.log(Number(a)) //  输出 0
  • undefined:转为NaN
     var a
     console.log(Number(a)) //  输出 NaN
  • null:转为0
     var a = null 
     console.log(Number(a)) //  输出 0
  1. parseInt()方法

字符串转整数方法

  • 对浮点数进行取整操作
     var a = 1.23
     console.log(parseInt(a)) //  输出 1
  • 将字符串转为整数数字
     var a = '2.23'
     console.log(parseInt(a)) //  输出 2
  • 字符串中,必须是纯数字字符串户或者数字字符开头的字符串,才能转换为正常数字,且只取整数部分
  • 如果不是数字打头的字符串,会转换成NaN
     var a = 'a1'
     console.log(parseInt(a)) //  输出 NaN
  1. parseFloat()方法

字符串转浮点数方法

  • 将字符串转为浮点数数字
  • 满足浮点数数字字符必须在字符串开始,如果不在开始,返回值都是NaN

3.2 转字符串类型

  1. 变量.toString()方法

  2. string(变量)方法,有些值没有'tostring()',这个时候可以使用‘string()’,比如‘undefined’和‘null’

  3. +号拼接字符串的方式

  • num + “”,当+俩边一个操作符是字符串类型,一个操作符是其他类型的时候,会先把其他类型转换成字符串再进行字符串拼接,返回字符串

3.3 转布尔类型

  1. Boolean(变量)方法

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

  • 转为false:NaN,0,空字符串,null,undefined
  • 转为true:非0 非NaN数字,非空字符串