欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript数据类型总结

程序员文章站 2022-06-04 13:46:27
1、 五种简单数据类型:Undefined、Null、Boolean、Number、String; 一种复杂数据类型:Object; (1)基本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值; (2)引用数据类型是保存在堆内存中的对象; 与其他语言的不同是,你不可以直接访问堆内存空间中的 ......

1、  五种简单数据类型:undefined、null、boolean、number、string;

        一种复杂数据类型:object;

        (1)基本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值;

        (2)引用数据类型是保存在堆内存中的对象;

                 与其他语言的不同是,你不可以直接访问堆内存空间中的位置和操作堆内存空间。只能操作对象在栈内存中的引用地址;

          (3)  typeof 操作符适合确定除 null 以外的简单数据类型;

1 var a = "hyd";
2 var b = ture;
3 var c = null;
4 var d = new object();
5 
6 alert(typeof a);      //string
7 alert(typeof b);      //boolean
8 alert(typeof c);      //object
9 alert(typeof d);      //object

 

         (4)  instanceof 操作符可以用来判断new 出来基本类型(简单数据类型);

1 var a = new string("hyd");
2 alert(a instanceof string);       //true
3 
4 var b = "hyd";
5 alert(b instanceof string);       //false

 

2、  基本包装类型:boolean、number、string;

        基本包装类型首先是基本类型,同时是特殊引用类型;

3、  引用类型:object、array、function、date、regexp、基本包装类型、单体内置对象(特殊引用类型)

        (1)使用 new 创建的均为 object 类型,所有引用类型默认都继承自 object ;

        (2)使用 typeof 操作符无法有效区分引用类型,只能知道他是对象,而不能知道是什么类型的对象,此时使用 instanceof 操作符;

 1 var o = new object();
 2 var a = new array();
 3 var r = new regexp();
 4 
 5 alert(o instanceof object);      //true
 6 alert(a instanceof object);      //true
 7 alert(r instanceof object);      //true
 8                                               //检测一个引用类型值与object构造函数时,始终返回ture
 9 
10 alert(a instanceof array);         //true
11 alert(r instanceof regexp);      //true

 

ps:typeof 检测函数返回"function";

        safair 5 及chrome 7 之前,typeof 检测正则表达式返回"function";

        ecma-262规定:内部实现 [[call]] 方法的对象都应该在typeof 操作符时候返回“function”!

        ie 与 firefox 中,typeof 检测正则表达式返回"object";