javascript小结之对象和数组

javascript中,对象是一种引用类型,对象的值就是引用类型的实例,javascript中的对象理解成是java中类,而javascript中的对象的值可以理解成是java中的对象(类的实例化)。javascript虽然是面向对象的语言,但是不具备像其他面向对象语言(如java)所支持的类和接口等基本结构。

1、Object类型

javascript中的对象是名/值对的集合,或者字符串到值映射的集合。创建Object类型有两种方式,一种是使用new运算符,一种是字面量表示法。

(1)使用new运算符创建Object

<script type="text/javascript">
	var person = new Object(); // 使用new创建对象
	person.name = "yedward"; // 创建属性字段
	person.age = 23;
	person.sex = "male";
</script>

(2)new关键字可以省略

<script type="text/javascript">
	var person = Object(); // 省略了new
	person.name = "yedward"; // 创建属性字段
	person.age = 23;
	person.sex = "male";
</script>

(3)使用字面量方式创建Object

<script type="text/javascript">
	var person = {
		name : "yedward",
		age : 23,
		sex : "male"
	};
</script>

(4)属性字段也可以使用字符串表示

<script type="text/javascript">
	var person = {
		"name" : "yedward", // 属性名可以加引号以字符串表示
		"age" : 23,
		"sex" : "male"
	};
</script>

(5)使用字面量及传统赋值方式

<script type="text/javascript">
	var person = {}; // 字面量方式声明空的对象
	person.name = "yedwrd";
	person.age = 23;
	person.sex = "male";
</script>

(6)两种属性输出方式

<script type="text/javascript">
	var person = {}; // 字面量方式声明空的对象
	person.name = "yedwrd";
	person.age = 23;
	person.sex = "male";
	
	alert(person.name); // 点表示法输出
	alert(person["age"]); // 中括号表示法输出,注意引号
	alert(person[sex]); // 这里没加引号则会报错,错误信息是sex is not defined,这里把sex当作了变量
</script>

(7)给对象创建方法

<script type="text/javascript">
	var person = {}; // 字面量方式声明空的对象
	person.name = "yedwrd";
	person.age = 23;
	person.sex = "male";
	person.hello = new function() { // new可以省略
		alert("hello");
	};
	
	person.hello(); // 调用对象的方法
</script>

给对象创建方法除了上面代码示例中的以外,也可以直接使用字面量的形式创建,如下所示:

<script type="text/javascript">	
	var person = {
		name : "yedard",
		age : 23,
		sex : "male",
		hello : new function() { // 这里的new可以省略
			alert("hello");
		}
	};
	
	person.hello(); // 调用对象的方法
</script>

(8)使用delete删除对象属性

<script type="text/javascript">	
	var person = {
		name : "yedard",
		age : 23,
		sex : "male"
	};
	
	delete person.age; // 删掉对象属性
	alert(person.age); // 这里输出undefined
</script>

实际开发过程中,更多的使用字面量的方式。

2、Array类型

除了Object对象类型以外,Array数组类型是javascript最常用的类型。而且javascript中的Array类型和其他语言中的数组有着很大的区别,比如java中的数组只能有序存放同一类型的元素,但是javascript中的数组每个元素都可以保存任何类型。同时,javascript中数组的大小也是可以调整的。

创建Array数组有两种方式,第一种是new运算符,第二种是字面量,和Object很像。

(1)使用new关键字创建数组

<script type="text/javascript">	
	// 下面new关键字均可以省略掉
	var numbers1 = new Array(); // 创建一个数组
	var numbers2 = new Array(10); // 创建一个包含10个元素的数组
	var numbers3 = new Array(1, 2, 3, 4, 5); // 创建一个数组并且分配好了元素
</script>

(2)使用字面量方式创建数组

<script type="text/javascript">	
	var numbers1 = []; // 创建一个空的数组
	var numbers2 = [1, 2, 3, 4, 5]; // 创建一个数组并分配5个元素
	var numbers3 = [1, 2, ]; // 不要这样写
	var numbers4 = [, , , , ]; // 不要这样写
</script>

注意:可以看出数组的定义和对象很像,使用字面量的时候,对象使用的是大括号({}),数组使用的是中括号([])。

(3)使用索引下标来读取数组的值

<script type="text/javascript">	
	var numbers = [1, 2, 3, 4, 5];
	alert(numbers[1]); // 2
	alert(numbers[5]); // undefined
	alert(numbers.length); // 5
	numbers[numbers.length] = "yedward";
	alert(numbers[5]); // yedward
	alert(numbers.length); // 6
</script>

(4)使用length属性获取数组元素量(代码如上所示)

注意:数组最多可以包含4294967295个元素,超过了就会发生异常。

本文标题:javascript小结之对象和数组

本文链接:http://yedward.net/?id=251

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章