日期:2014-05-16  浏览次数:20323 次

轻松拿下JavaScript(二)——面向对象

我们接着前面的内容,来继续探讨JavaScript的面向对象的内容,今天这回我们主要学习下面几个知识点:我们一个个来进行深入浅出的讲解。

JS中的对象:

JavaScript是一种基于原型的面向对象的语言,没有类的概念,所有的一切都派生自现有对象的一个副本。

对象分为以下两类:

function对象,例如alert()函数可以使用参数改变此类对象的功能如alert(“abc”)。传什么打印出什么。

object对象,这类对象无法像function类对象那样调用,而且具有固定的功能。

为了提高使用效率,JavaScript提供了下列内置对象。

object是通用基础对象,可以使用它来创建简单的静态对象,其简写是{}。

var obj=new Object();
var obj={};

Function是被所有使用参数的对象复制的对象,也是在脚本中定义函数时所创建的对象,其简写是function(){}。

var myFunction=new function(",");
function myFunction(){

}

Array是一种特殊的属性和方法的集合,比如使用它的length属性可以迭代操作这类对象,使用方括号加序号也可以访问它的属性。其简写是[]。

var arry=new Array();
var arry=[];

String、Boolean、Number分别用来表示字符串、布尔值、数字。

除此之外还有Math、Date、RegExp及其它内置对象。


JS中继承:

继承是面向对象中重要的组成部分。当创建自己的对象时你可以扩展或继承现有对象的属性和方法。继承为重用对象提供了便捷的途径,这样你就可以把精力完全集中于新的改进代码中。

与传统的面向对象语言不同,JavaScript是基于原型的面向对象者就导致无法从一个类扩展出另一个类的底层类结构。在JS中继承是通过简单的从一个对象原型向另一个对象原型复制方法而实现的。我们看一下这个例子:

<title>继承</title>
<script type="text/javascript">
function init(){
	var person={};
	person.getName=function(){
		alert("person name");
	};
	person.getAge=function(){
		alert("person age");
	};
	//创建另一个对象
	var student={};
	student.getStuNum=function(){
		alert("student stuNum");
	};
	student.getName=person.getName;
	person.getName=function(){
		alert("person1 name");
	};
	student.getAge=person.getAge;
	student.getName();
	person.getName();
}
window.onload=init;
</script>

那么结果是这样的:

这就说明JS继承只是通过简单的从一个对象原型向另一个对象原型复制方法而实现的。

对象成员:

1、数组的两种实现方案