JS中的数据类型(一)

一:类型
五种基本数据类型(Undfined,Null,String,Number,Boolean)
一种引用类型(Object)

二:类型检测
对于基本数据类型的检测可以使用 typeof 进行检测,typeof是一个操作符不是一个函数

typeof   'abcdef'           //string
typeof   15                 //number
typeof   undefined          //undefined 
typeof   true               //boolean
typeof   null               //object
typeof   object             //object
//使用typeof检测函数时会返回function

使用typeof检测null和object类型时会返回object,因此无法判断是哪种类型

对于引用类型的检测可以使用instanceof,使用typeof检测引用类型时我们只能知道他是对象,但想要知道是什么类型的对象使用instanceof操作符

var obj1 = {}
alert(obj1 instanceof Object) //true
var obj2 = []
alert(obj2 instanceof Array)  //true
var obj3 = /^[0-9]$/g
alert(obj3 instanceof RegExp)  //true


三:复制变量
从一个变量向另一个变量赋值时,基本类型和引用类型会有区别
基本类型

var num1 = 5;
var num2 = num1;
num1 = 10;
conloe.log(num2)             //5

赋值示意图
引用类型

var a = {age : 5};

    var b = a;

    b.age = 10;

    console.log (a.age);         //10

这里写图片描述

两种数据类型的赋值方式不同:
基本类型的赋值后两个值是相互独立的,不会相互影响;
引用类型的赋值实质是将指针赋值到另一个变量中,两个指针同时指向堆内存中的一个对象

五个基本类型:
(1)Undefined类型
只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。
(2)Null类型
null类型被看做空对象指针,前文说到null类型也是空的对象引用
(3)Boolean类型
该类型只有两个值,true和false
(4)String类型
字符串有length属性。
字符串转换:String(),适用于任何数据类型(null,undefined 转换后为”null”和”undefined”);
toString()方法(null,defined没有toString()方法)。
(5)Number类型
Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。
1.NaN:非数字类型。特点:
① 涉及到的 任何关于NaN的操作,都会返回NaN
② NaN不等于自身。
2.isNaN() 函数用于检查其参数是否是非数字值。
isNaN(123) //false
isNaN(“hello”) //true
3.数值转换(Number(),parseInt(),parseFloat())
Number()用于将任何数据类型转换成数字
true和false转换成0和1;null为0;undefined为NaN
parseInt()转换成整数
parseFloat()转换成浮点数

猜你喜欢

转载自blog.csdn.net/qq_40856225/article/details/81702555