JavaScript数据类型

本文详细介绍了JavaScript中的数据类型分类,包括基本数据类型(如Number、String、Boolean)的特性和转换方法,以及引用数据类型(如对象)。重点讲解了数值型、字符串型、布尔型、Undefined和Null的基本概念,以及如何使用parseInt和parseFloat进行类型转换。
摘要由CSDN通过智能技术生成

三、数据类型

目录

三、数据类型

1.数据类型的分类

2. 基本(简单)数据类型

2.1 数字型Number

2.1.1 Number的属性

2.1.2 Number三个特殊的值

2.1.3 Number的方法 

2.2 字符串型 String

2.2.1 字符串简介

2.2.2 字符串引号嵌套

2.2.3 字符串转义符

2.2.4 字符串长度

2.2.5 字符串拼接

2.3 布尔型 Boolean

2.4 Undefined和Null

3.获取检测变量的数据类型 

3.1 获取变量数据类型

3.2 字面量

4. 数据类型转换

 4.1 转成数字型Number

4.1.1 Number(参数) 函数

 4.1.2 parseInt(参数) 函数和parseFloat(参数) 函数

4.2 转成字符串String

 4.3 转成布尔型 Boolean

5. 引用数据类型(对象类型)


1.数据类型的分类

js把数据类型分为两大类:简单(基本)数据类型、引用(复杂)数据类型

2. 基本(简单)数据类型

简单数据类型说明默认值
Number数字型,包含整型值和浮点型值,如21、0.210
Boolean布尔值类型,包含true和false,等价于1和0false
String字符串类型,如"张三"""
Undefinedvar a; 声明变量a但没有赋值,此时a=undefinedundefined
Nullvar a=null; 声明变量a为空值null

2.1 数字型Number

JS数字类型既可以用来保存整数值,也可以保存小数(浮点数)。

var age=21; //整数
var age1=22.5;  //小数
2.1.1 Number的属性
  1. Number.MAX_VALUE    最大值
    console.log(Number.MAX_VALUE); //1.7976931348623157e+308
  2. Number.MIN_VALUE   最小值 
    console.log(Number.MIN_VALUE); //5e-324
  3. Number.POSITIVE_INFINITY    正无穷
    console.log(Number.POSITIVE_INFINITY); //Infinity
  4. Number.NEGATIVE_INFINITY   负无穷
    console.log(Number.NEGATIVE_INFINITY); //-Infinity
2.1.2 Number三个特殊的值
  1. Infinity     代表无穷大,大于任何数值
  2. -Infinity    代表无穷小,小于任何数值
  3. NaN        Not a number,代表一个非数值,是一个Number类型,因为不能运算导致的返回值
2.1.3 Number的方法 
  1. 数字.toFixed(n)   保留n位小数------保留小数后,数据类型变成String类型
    var num=123.143
    console.log(num.toFixed(1)); //123.1
  2. 数字.toString(n)    转换成n进制

    var num=123;
    console.log(num.toString(2)); //1111011
  3. isNaN(参数)------全局函数

    该函数用来检查其参数是否为非数字值。
    返回值参数值
    true

    NaN、字符串、对象、undefined等非数字值

    false数字
    特殊情况:
    1. 隐式转为数:
      console.log(isNaN('123')); //false
      console.log(isNaN(123));   //false
      console.log(isNaN(true));  //false
      console.log(isNaN(null));  //false
      console.log(isNaN(''));    //false
      console.log(isNaN(' '));   //false
    2. 转为NaN:

      console.log(isNaN('123hello')); //true
      console.log(isNaN(undefined));  //true
      console.log(isNaN(NaN)); //true
      console.log(isNaN({})); //true

  实例场景:如何确定用户输入的一定是数字?

var num=prompt('请输入一个数字');
console.log(num);
var res=parseFloat(num)&&Number(num); //纯数字或NaN
if(isNaN(res)){
    console.log('num不是数字'+num);
}else{
    console.log('num是数字'+num);
}

2.2 字符串型 String

2.2.1 字符串简介

字符串用于存储和处理文本,引号内可以是任何字符,可以用单引号和双引号。js更推荐使用单引号。

var str1="我爱吃玉米"; //使用双引号表示字符串
var str2='我爱吃柚子'; //使用单引号表示字符串
var str3=我爱吃米饭;   //报错,没使用引号,会被认为是js代码
2.2.2 字符串引号嵌套

规则:JS不同类型引号可以嵌套,相同类型的引号嵌套会报错。---外双内单,外单内双

(即:单引号内可以嵌套双引号,双引号内可以嵌套单引号。单引号内不能嵌套单引号,双引号不能嵌套双引号)

2.2.3 字符串转义符

类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。转义符都是 \ 开头的,常用的转义符及其说明如下:

转义符解释说明
\n换行符,n是newline的意思
\ \斜杠 \
\'' 单引号
\'''' 双引号
\ttab 缩进
\b空格,b是blank的意思
2.2.4 字符串长度

字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的 length 属性可以获取整个字符串的长度。

使用方法:参数.length

var str='我是一个粉刷匠';
console.log(str.length); //7
2.2.5 字符串拼接
  • 字符串+任何类型=拼接后的新字符串
  • 拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
  • 加号'+'在遇到字符串前可以计算,字符串后不计算,只是拼接起来。
    //字符串相加
    console.log('hello'+' '+'world');//hello world
    //数值字符串相加
    console.log('100'+'100'); //100100
    //数值字符串+数值
    console.log(1+2+3+'8'+9+8); //6898

    +号总结口诀:数值相加,字符相连

2.3 布尔型 Boolean

布尔类型有两个值:true和false,其中true表示真(对),而fasle表示假(错)。

布尔型和数字型相加的时候,true的值为1,false的值为0

console.log(true+1); //2
console.log(false+1); //1

2.4 Undefined和Null

一个声明后没有被赋值的变量会有一个默认值Undefined。进行相连或相加时,注意结果。

var a;
console.log(a); //undefined
console.log(a+'hello'); //undefinedhello
console.log(true+a); //NaN
console.log(11+a); //NaN

一个声明变量给null值,里面存的值为空

var vair=null;
console.log('你好'+vair); //你好null
console.log(11+vair); //11
console.log(true+vair); //1

3.获取检测变量的数据类型 

3.1 获取变量数据类型

typeof可用来获取变量的数据类型

var num=21;
console.log(typeof num); //number

不同类型的返回值:

类型案例返回值
Stringtypeof "小白""string"
Numbertypeof  21"number"
Booleantypeof  true"boolean"
Undefinedtypeof undefined"undefined"
Nulltypeof null"object"

注意:两个或两个以上的typeof返回值一直是"string"

var num=123;
console.log(typeof typeof num); //'string'
//过程:typeof 'number'---'string'
console.log(typeof typeof true); //'string'
//过程:typeof 'boolean'---'string'

3.2 字面量

字面量是在源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值

  • 数字字面量:1,2,3
  • 字符串字面量:'玉米','柚子'
  • 布尔字面量:true,false

4. 数据类型转换

 4.1 转成数字型Number

方式说明类型案例
Number(参数)将其他类型转为数值型强制转换Number('12')
parseInt(参数)将其他类型转为整数数值型parseInt('78')
parseFloat(参数)将其他类型转为浮点数数值型parseFloat(78.21)
+  -  *  /利用算术运算隐式转换为数值型隐式转换

+'12'

'12'-0

'12'*1

'12'/1

4.1.1 Number(参数) 函数
  1. 字符串转数字

    '123'—123

    ''、'  '—0

    其他—NaN

  2. Boolean转数字

    true—1

    false—0

  3. Undefined转数字

    只定义,未赋值的变量—NaN

  4. Null转数字

    null—0

 4.1.2 parseInt(参数) 函数和parseFloat(参数) 函数

'123'—123

'123hello'—123

其他—NaN

4.2 转成字符串String

方式说明类型案例
参数.toString()

转成字符串

null和undefined没有此方法

强制转换

var num=1;

alert(num.toString);

String(参数)函数

转成字符串

所以类型都可以用它转

var num=1;

alert(String(num));

拼接空串和字符串拼接的结果都是字符串隐式转换

var num=1;

alert(num+' ');

 4.3 转成布尔型 Boolean

方式说明类型案例返回值
Boolean()函数其他类型转成布尔值强制转换Boolean('true')

true

false

if条件语句其他类型转成布尔值隐式转换例:if(NaN){
console.log('我是条件为真执行的语句');
}else{
console.log('我是条件为假执行的语句');
}    //我是条件为假执行的语句

注意:只有六个值是false,其他都是真

false、null、0、''空串、NaN、undefined

console.log(Boolean('')); //false
console.log(Boolean(0)); //false
console.log(Boolean(false)); //false
console.log(Boolean(null)); //false
console.log(Boolean(NaN)); //false
console.log(Boolean(undefined)); //false

5. 引用数据类型(对象类型)

Array数组对象、Date日期对象、Function函数、Object对象、RegExp正则

  • 41
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值