【笔记:JS基础】数据类型及数据类型转换

数据类型指的就是变量的类型,在JS中一共有六种数据类型:
1、String 字符串
2、Number 数值
3、Boolean 布尔值
4、Null 空值
5、Undefined 未定义
6、Object 对象

  • 其中String、Number、Boolean、Null、Undefined属于基本数据类型,而Object属于引用数据类型

1、String字符串类型

  • 注意事项:
  • 在JS中字符串需要使用引号引起来;
  • 使用双引号或单引号都可以,但是不要混着用;
  • 引号不能嵌套,双引号不能放双引号,单引号不能放单引号;

声明变量

var str = "hello"
var str1 = '我说:"今天天气真不错!"'

以上声明的两个变量类型都为String字符串类型。

1、在字符串中我们可以使用 \ 作为转义字符;
2、使用typeof检测输出String

转义字符示例:

\"   表示输出 "
\'   表示输出 '
\n   表示输出一个换行
\t   表示一个制表符
\\   表示输出 \

2、Number数值类型

  • 在JS中所有的数值都是Number类型,包括整数(int)和浮点数(float),也就是小数。
  • 1、JS中可以表示的数字的:
    最大值:Number.MAX_VALUE: 1.7976931348623157e+308
    大于0的最小值:Number.MIN_VALUE : 5e-324
  • 2、如果使用Number表示的数字超过了最大值,则会返回Infinity
    Infinity:Infinity表示正无穷;
    -Infinity:-Infinity表示负无穷;
    使用typeof检查Infinity也会返回number。
  • 3、NaN 是一个特殊的数字,表示Not A Number,使用typeof检查一个NaN也会返回number。

声明变量

var num = 123
var nbr =Infinity
var nmb = NaN

以上所声明变量都为Number数值类型

1、使用JS进行整数的运算基本可以保证其正确性;
2、如果使用JS进行浮点运算,可能得到一个不精确的结果;
3、使用typeof检测输出Number

3、Boolean类型

布尔值只有两个,主要用来做逻辑判断:
1、true :- 表示真;
2、false:- 表示假。

var bool = false;
console.log(typeof bool);

使用typeof检查一个布尔值时,会返回boolean

4、Null(空值)

Null类型的值只有一个,就是null

  • null这个值专门用来表示一个为空的对象
var a = null;
console.log(typeof a);

使用typeof检查一个null值时,会返回object;

5、Undefined(未定义)

Undefined类型的值只有一个,就undefind

  • 当声明一个变量,但是并不给变量赋值时,它的值就是undefined
var b = undefined;
console.log(typeof b);

使用typeof检查一个undefined时也会返回undefined

6、数据类型转换

强制转换:将一个数据类型强制转换为另一个数据类型。

6.1、将其他类型转换为String字符串类型

两种方式方法:1、tostring()方法;2、String()函数

tostring()方法: 不会影响到原变量,它会将转换的结果返回,所以应该有一个变量去保存返回的结果;

var a = 123;
a = a.toString();
a = true;
a = a.toString();
a = null;
//a = a.toString();   //会报错
a = undefined;
//a = a.toString();   //会报错

注:null和undefined这两个值没有toString()方法,如果调用他们的方法,会报错

String()函数: 调用String()函数,并将被转换的数据作为参数传递给函数使用String()函数。做强制类型转换时,对于Number和Boolean实际上就是调用的toString()方法,但是对于null和undefined,就不会调用toString()方法,它会将 null 直接转换为 “null”,将 undefined 直接转换为 “undefined”。

a = 123;
//调用String()函数,来将a转换为字符串
a = String(a);
a = null;
a = String(a);
a = undefined;
a = String(a);
console.log(typeof a);
console.log(a);
6.2、将其他类型转换为Number数值类型

三种转换方式:1、Number()函数;2、parseInt()函数;3、parseFloat()函数。

Number()函数: 字符串 —> 数字

  • 1、如果是纯数字的字符串,则直接将其转换为数字;
  • 2、如果字符串中有非数字的内容,则转换为NaN;
  • 3、如果字符串是一个空串或者是一个全是空格的字符串,则转换为0。
var a = "123";
//调用Number()函数来将a转换为Number类型
a = Number(a);
console.log(typeof a);
console.log(a);

Number()函数: 布尔 —> 数字

  • 1、true 转成 1
  • 2、false 转成 0
a = false;
//调用Number()函数来将a转换为Number类型
a = Number(a);
console.log(typeof a);
console.log(a);

Number()函数: null —> 数字 0

a = null;
//调用Number()函数来将a转换为Number类型
a = Number(a);
console.log(typeof a);
console.log(a);

Number()函数: undefined—> 数字 NaN

a = undefined;
//调用Number()函数来将a转换为Number类型
a = Number(a);
console.log(typeof a);
console.log(a);

parseInt()函数: 把一个字符串转中有效数字取出来之后换为一个整数,parseInt()函数可以有两个值,第一个参数为需要转换的内容,第二个值为将数值准备转换的进制。

a = "124px";
//调用parseInt()函数来将a转换为Number类型
a = parseInt(a,10); //转换为十进制的数据类型
console.log(typeof a);
console.log(a);

parseFloat()函数: 可以获取一个字符串中有效小数取出来之后换为一个小数

a = "123.456.789px";
//调用parseFloat()函数来将a转换为Number类型
a = parseFloat(a);
console.log(typeof a);
console.log(a);

如果对非String使用parseInt()或parseFloat(),它会先将其转换为String然后在操作

a = true;
a = parseInt(a);
console.log(typeof a);
console.log(a);

以上输出结果为NaN

6.3、将其他类型转换为Boolean类型

只有一种转换方式:Boolean()函数

  • 1、数字 —> 布尔:除了0和NaN,其余的都是true;
var a = 123;    //true
a = -123;       //true
a = 0;          //false
a = Infinity;   //true
a = NaN;        //false
a=Boolean(a)
console.log(typeof a);
console.log(a);
  • 2、字符串 —> 布尔:除了空字符串,其余的都是true
var a = "";
a=Boolean(a)
console.log(typeof a);
console.log(a);
  • 3、null和undefined —> 布尔:都会转换为false
var a =null;
a=Boolean(a)
console.log(typeof a);
console.log(a);
  • 4、对象—> 布尔:会转换为true
var a ={};
a=Boolean(a)
console.log(typeof a);
console.log(a);
发布了20 篇原创文章 · 获赞 11 · 访问量 1752

猜你喜欢

转载自blog.csdn.net/qq_16221009/article/details/102825068