1.引用类型
引用类型的值是引用类型的一个实例,引用类型是一种数据结构,用于将数据和功能组织在一起,也常被叫做类。
对象时某个特定引用类型的实例,新对象是使用new操作符后跟一个构造函数来创建的,构造函数本身就是函数,是出于创建新对象的目的而定义的。
var person = new Object();
2.Object类型
(1)Object类型对于应用程序中存储和传输数据来说,是非常理想的选择。
(2)Object类型实例创建方式:
使用new加Object构造函数。
<script type="text/javascript"> var person = new Object(); person.name = "peter"; alert(person.name); </script>
使用对象字面量的表示方法。
var dog = { name:"kity", age:3, eye:bigEyes };
这种创建方法,由一对花括号开始,前面是变量名,后面是冒号,再是属性值,可以有多个属性,但是每个属性之间必须使用逗号分隔,最后一个属性一般是不加逗号的。其中属性名也可以是字符串。如果花括号里面不写东西,那么只可以定义包含默认属性和方法的对象。
一般来说,访问对象属性使用点表示法,在javascript中使用方括号[]来访问对象的属性。在使用[]时,应该将要访问的属性以字符串的形式放在[]中。
alert(person["name"]);
alert(person.name);
前者可以通过变量访问属性。
如果属性名中包含会导致语法错误的字符,属性名使用的是关键字或保留字,也可以使用方括号。
除非必须使用变量来访问属性,否则我们建议使用点表示法。
3.Array类型
javascript中的数组是有序列表,它可以保存任意类型的数据,这是和其他语言数组的最大区别,而且它的数组的大小是可以动态调整的。
(1)创建数组的基本方式:
使用Array构造函数,可以给他传值(数组的大小或者数组的内容)
var student = new Array(); var student = new Array(10); var student = new Array("peter","merry","bob");
(2)使用数组字面量的表示方法,数组字面量由一对包含数组项的方括号表示,多个数组之间用逗号隔开。
(3)在读取和设置数组的值时,使用方括号和对应值基于0的数字索引。
数组的长度保存在length属性中,这个属性值可以返回0或者更大的数值。可以通过设置length属性的值,从数组的末尾删除或者增加新的项。
var colors = ["red","blue","green"]; colors.length = 2;//数组长度变成了2,green被移除 alert(colors[2]);//此时访问会返回undefined,alert(colors[1]);会返回blue
如果将Length属性设置为大于数组项目的值,则新增的每一项都会返回undefined值。
var colors = ["red","blue","green"]; colors.length = 5; alert(colors[4]);
利用length属性在数组末尾增加项。
var colors = ["red","blue","green"]; alert(colors[colors.length]="black");
(4)数组最多可以包含4294967295个项
(5)检测数组
使用Array.isArray()方法,它可以最终确定该值是不是数组,而且不管他是在哪个全局执行环境中创建的。
if(Array.isArray){ //operates }
(6)转换方法
所有对象都具有toLocaleString(),toString()和valueOf()方法,其中,调用数组的toString()方法会返回由数组中每个值得字符串形式拼接而成的一个以逗号分隔的字符串。valueOf()会返回数组。
当调用toLocaleString()方法时,会创建一个数组值得以逗号分隔的字符串,与前面的不同是,为了取得每一项的值,调用的是每一项的toLocaleString()方法,而不是toString()方法。
<script type="text/javascript"> var person1 = { toString : function(){ return "peter"; }, toLocaleString :function(){ return "mary"; } }; var person2 = { toString: function(){ return "26"; }, toLocaleString:function(){ return "18"; } }; var person = [person1,person2]; alert(person); alert(person.toString()); alert(person.toLocaleString()); </script>
使用join()方法可以用不同的分隔符来构建这个字符串,join()方法只接收一个参数,用作分隔符的字符串,然后返回包含所有数组项的字符串。如果不给join()方法传入任何值,或者传入undefined,使用逗号作为分隔符。如果数组中的某一项的值是null或undefined,那么该值在join(),toString(),toLocaleString()和valueOf()方法返回的结果中以空字符串表示。
<script type="text/javascript"> var person1 = { toString : function(){ return "peter"; }, toLocaleString :function(){ return "mary"; } }; var person2 = { toString: function(){ return "26"; }, toLocaleString:function(){ return "18"; } }; var person = [person1,person2]; alert(person); alert(person.toString()); alert(person.toLocaleString()); alert(person.join("*")); alert(person.join("--")); </script>