JavaScript数据类型补充
JavaScript数据类型
javascript数据类型
值:
(key,value都存储在栈中)
undefined 未定义
String 字符串
Number 数字
Boolean 布尔
Symbol 符号
引用类型:
栈中存储 内存地址
堆中存储 实际的值
Array 数组
Object 对象
null 空
Function 函数
typeof
引用类型 :
函数 Function
其他 Object
undefined 未定义
String 字符串
Number 数字
Boolean 布尔
Symbol 符号
隐式转换
转布尔:
非空字符串 转布尔 为 true
空字符串转布尔为 fasle
转字符串:
都会转换为字符串
转数字:
true 1 false 0
数字点会被转换为数字类型
否则 NaN
条件值
&&
var a = true&&88 //88
var a = false&&88 //false
var a = “” &&false //""
||
var a = false || 88; //88
var b= 15||88; //15
var b=""||false //false
判断数据类型的方法
1、typeof:返回类型的字符串描述值,如“string”、“object”等。但是,typeof(null)返回object
2、instanceof:判断类型是否是指定的类型,返回true或者false。与C#的is关键字类似
3、 .type(null)返回的是“null”字符串
4、对于上面第3项,需要引入jquery才可以使用,同时,$.type()能够返回更精确的类型
【typeof】可以返回的类型有以下6种:“undefined”, “boolean”, “number”, “string”, “object”, “function”。如下:
(1)typeof a 测试结果:“undefined”,当为定义a变量的时候
(2)typeof true 测试结果:“boolean”
(3)typeof 123 测试结果:“number”
(4)typeof “” 测试结果:“string”
(5)typeof [1,2] 测试结果:“object”
(6)typeof function(){} 测试结果:“function”
【instanceof】通常用于typeof结果为object时,判断是否是具体制定的类型(注意类型需要大小写精确),测试如下:
(1)数组类型
var arr = [1, 2, 3];
arr instanceof Array
测试结果:true
(2)日期类型
var dt = new Date();
dt instanceof Date
测试结果:true
【$.type()】测试如下:
(1)$.type() 测试结果:“undefined”
(2)$.type(true) 测试结果:“boolean”
(3)$.type(123) 测试结果:“number”
(4)$.type("") 测试结果:“string”
(5)$.type([1,2]) 测试结果:“array”
(6)$.type(function(){}) 测试结果:“function”