JavaScript 数据类型
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)
引用数据类型:对象(Object)、数组(Array)、函数(Function)
查看数据类型
- 方式一:typeof => 简单类型
var num = 20
var str = 'yzh'
var b = true
var un = undefined
var nu = null //object
console.log(typeof num) //number
console.log(typeof str) //string
console.log(typeof b) //boolean
console.log(typeof un) //undefined
console.log(typeof nu) //object
小技巧:在控制台可以根据颜色来判断数据的类型哦。黑色为字符串。蓝色为数字。
- 方式二: instanceof 判断复杂类型
- 结构 : 对象 instanceof 构造函数
var arr = [] //数组
var obj = {} //对象
var fn = function() {} //函数表达式 (函数也是一个对象)
console.log(arr instanceof Array) //true
console.log(obj instanceof Object) //true
console.log(fn instanceof Function) //true
- 方式三:constructor.name 原型的构造函数
var arr = [] //数组
var obj = {} //对象
var fn = function() {} //函数表达式 (函数也是一个对象)
console.log(arr.constructor.name) //Array
console.log(obj.constructor.name) //Object
console.log(fn.constructor.name) //Function
类型转换
一、转换成 数值类型 - number
- 1 Number()
console.log(Number('55'));
Number()可以把任意值转换成数值类型,但是如果字符串中有不是数字的字符,返回NaN
- 2 parseInt() 和 parseFloat()
- parseInt() 把整数或者小数都转化为整数;
- parseFloat() 把整数转化整数,把小数转化为小数
var num1 = parseInt("12"); // 12
var num1 = parseInt("12.3"); //12
var num1 = parseFloat("12"); //12
var num1 = parseFloat("12.3");//12.3
var width = '100px';
parseInt(width) => 100
- 3 算术运算 (最常用)
var str = '500'
console.log(+str) // 500 取正
console.log(-str) // -500 取负
//隐式转换
var str = "123"
var num = str - 0
console.log(num) //结果为数值型;
二、转换成 字符串类型 - string
- 1 String()
var num = 5
num = String(num)
console.log(num)
- 2 toString()
var num = 5
console.log(num.toString())// 把数值5变成字符串5
//将来所有的数据都会有toString()方法,除了null和undefined
- 3 拼串,(最常用)
var num = 5;
num = num + ""
console.log(num)
五、转换成 布尔类型 - boolean
所有的值都可以转换成布尔类型
其中0
,""
,undefined
,null
,false
,NaN
,这几个值会转换成false,其他值都会转换成true
这个代表的五大基本类型
// 没有值 => false
// 有值 => true
// number string boolean undefined null
// 0 ''
注意 :
1. 'false' 它是字符串
2. NaN => false
- Boolean()
console.log(Boolean(1));
console.log(Boolean(0));
- !!
var a = "abc";
console.log(!!a);
六、NaN
NaN: not a number, 表示一个非数字
比如:var num = parseInt(‘abc’)
在js中,NaN用来表示一个非数字的特殊值,当发现无法进行运算时,js不会报错,而是会返回一个NaN
NaN的注意事项:
- NaN的类型是number类型的,表示一个非数字
- NaN不等于任何值,包括NaN本身
- js无法进行计算的时候,不会报错,就会给你返回一个NaN
- 一般出现在转化为number中会报错
通过isNaN()
可以判断是否是一个数字,返回false的时候,表示是一个数字。
// 判断是不是数字
var a = 123
var b = '123'
// Nan 不是数字
// true 不是数字
// false 不是不是数字 = 是数字
console.log(isNaN(a)) //false
console.log(isNaN(b)) //false
以上就是js数据类型以及相互转换啦~ (=´ω`=)~