javascript面向对象简介

javascript面向对象简介

ID:8790679

大小:196.00 KB

页数:11页

时间:2018-04-07

javascript面向对象简介_第1页
javascript面向对象简介_第2页
javascript面向对象简介_第3页
javascript面向对象简介_第4页
javascript面向对象简介_第5页
资源描述:

《javascript面向对象简介》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、JavaScript面向对象简介JavaScript的核心是支持面向对象的,同时它也提供了强大灵活的OOP语言能力。本文从对面向对象编程的介绍开始,带您探索JavaScript的对象模型,最后描述 JavaScript当中面向对象编程的一些概念。复习JavaScript如果您对JavaScript的概念(如变量、类型、方法和作用域等)缺乏自信,您可以在重新介绍JavaScript 这篇文章里学习这些概念。您也可以查阅这篇 JavaScript1.5核心指南。面向对象编程面向对象编程是用抽象方式创建基于现实世界模型的一

2、种编程模式。它使用先前建立的范例,包括模块化,多态和封装几种技术。今天,许多流行的编程语言(如Java,JavaScript,C#,C++,Python,PHP,Ruby和Objective-C)都支持面向对象编程(OOP)。面向对象编程可以看作是使用一系列对象相互协作的软件设计,相对于传统观念,一个程序只是一些函数的集合,或简单的计算机指令列表。在OOP中,每个对象能够接收邮件,处理数据和发送消息给其他对象。每个对象都可以被看作是一个独立的小机器有不同的作用和责任。面向对象程序设计的目的是促进更好的编程灵活性和可维

3、护性,并在大型软件工程中广为流行。凭借其十分注重的模块化,面向对象的代码开发更简单,往后维护更容易理解,使其自身能更直接的分析,编码,理解复杂的情况和过程,比非模块化编程方法省事。1术语Namespace命名空间允许开发人员在一个专用的名称下捆绑所有功能代码的容器。Class类定义对象的特征。Object对象类的一个实例。Property属性对象的特征,比如颜色。Method方法对象的能力,比如行走。Constructor构造函数实例化时调用的函数。Inheritance继承一个类可以继承另一个类的特征。Encaps

4、ulation封装类定义了对象的特征,方法只定义了方法如何执行。Abstraction抽象结合复杂的继承,方法,属性,一个对象能够模拟现实的模型。Polymorphism多态多意为‘许多’,态意为‘形态’。不同类可以定义相同的方法或属性。更多关于面向对象编程的描述,请参照维基百科的 面向对象编程 。原型编程基于原型的编程不是面向对象编程中体现的风格,且行为重用(在基于类的语言中也称为继承)是通过装饰它作为原型的现有对象的过程实现的。这种模式也被称为弱类化,原型化,或基于实例的编程。原始的(也是最典型的)基于原型语言的

5、例子是由大卫·安格尔和兰德尔·史密斯开发的。然而,弱类化的编程风格近来变得越来越流行,并已被诸如JavaScript,Cecil,NewtonScript,IO,MOO,REBOL,Kevo,Squeak(使用框架操纵Morphic组件),和其他几种编程语言采用。1JavaScript面向对象编程命名空间命名空间是一个容器,它允许开发人员在一个独特的,特定于应用程序的名称下捆绑所有的功能。 在JavaScript中,命名空间只是另一个包含方法,属性,对象的对象。需要认识到非常重要的一点,与其他面向对象编程语言中的普通

6、对象和命名空间相比,它们在语言层面上没有区别。创造的JavaScript命名空间背后的想法很简单:一个全局对象被创建,所有的变量,方法和功能成为该对象的属性。使用命名空间也最大程度地减少应用程序的名称冲突的可能性。我们来创建一个全局变量叫做MYAPP//全局命名空间varMYAPP=MYAPP

7、

8、{};在上面的代码示例中,我们首先检查MYAPP是否已经被定义(是否在同一文件中或在另一文件)。如果是的话,那么使用现有的MYAPP全局对象,否则,创建一个名为MYAPP的空对象用来封装方法,函数,变量和对象。我们也可以创建

9、子命名空间://子命名空间MYAPP.event={};下面是用于创建命名空间和添加变量,函数和方法的代码写法://给普通方法和属性创建一个叫做MYAPP.commonMethod的容器MYAPP.commonMethod={ regExForName:"",//定义名字的正则验证regExForPhone:"",//定义电话的正则验证validateName:function(name){ //对名字name做些操作,你可以通过使用“this.regExForname”//访问regExForName变量}, v

10、alidatePhoneNo:function(phoneNo){ //对电话号码做操作}} //对象和方法一起申明MYAPP.event={ addListener:function(el,type,fn){ //代码}, removeListener:function(el,type,fn){ //代码}, getEvent:functio

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。