JavaScript
文章平均质量分 80
FinderCheng
这个作者很懒,什么都没留下…
展开
-
面向对象的JavaScript(1): 序言
学习JavaScript的时候总会说道,JavaScript是基于对象的语言,而不是面向对象的语言。基于对象和面向对象的区别,或许都可以牵扯到哲学的高度,很多人都在讨论,却一直没有定论。倘或不是为了考试或者其他什么,仅仅就实际应用而言,基于对象或者面向对象并没有什么太大的区别:语言就在那里,不管你把它定义为基于对象还是面向对象,你所要做的并没有什么改变。所以,我们就不提到底是基于对象还是面原创 2009-04-21 20:39:00 · 548 阅读 · 0 评论 -
JavaScript面向对象程序设计(7): 闭包
闭包这个概念看上去很深奥,这个词在离散数学里面的意思确实比较难于理解。在这里,我们先可以把闭包理解成是一种匿名函数或者匿名类。 1. 什么是闭包? 什么是闭包?一种正式的解释是:所谓闭包,指的是一种拥有很多变量并且绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是这个表达式的一部分。 相信很多人都不会理解这个定义,因为他的学术味道太浓了——或许你喜欢从字面的语...2009-06-16 21:01:21 · 175 阅读 · 0 评论 -
JavaScript面向对象程序设计(6): 封装
封装是面向对象的重要概念之一。如果一个程序没有封装性,也就谈不上什么面向对象。但是,JavaScript并不像其他的语言,比如Java,有公有变量和私有变量等;在JavaScript中只有一种作用域:公有作用域。在本章中,我们将会见识到JavaScript是如何实现封装的特性的。 1. this和公有变量 首先需要理解this关键字。看下面的一段代码,你应该对此感到熟悉: ...2009-06-12 19:56:01 · 160 阅读 · 0 评论 -
JavaScript面向对象程序设计(5): 类
类是面向对象程序设计的核心概念之一。一个类代表了具有相似属性的一类事物的抽象。从本篇开始,我们将正式的进入JavaScript的面向对象部分。首先需要注意的是,在JavaScript中并没有“类”这一关键字——在大多数语言中都是使用class作为关键字的。所以,这里的类就成了一个概念,它没有明确的语法标志。 1. 类和构造函数 前面说过,在JavaScript中并没有明确的类的概念...2009-06-10 21:51:08 · 170 阅读 · 0 评论 -
JavaScript面向对象程序设计(4): 函数
在很多语言中,函数(Java里面成为方法)和对象时截然不同的两种东西。函数被定义为对象的动作,或者是全局的(像在C++中的main函数一样)。但是在JavaScript中,函数和对象的界限却显得不那么明显。 1. 函数的定义 JavaScript中有很多种定义函数的方法: function hello() { alert("Hello!"); }var hello1 =...2009-06-09 13:48:19 · 141 阅读 · 0 评论 -
JavaScript面向对象程序设计(3): 对象
1. 对象 对象是面向对象程序设计的基础概念之一,只需看看这个名字就已经知道了。在我们熟悉的面向对象语言中,比如Java或者C++,都有着类似的对象定义方法。比如,我们想定义一个类,名字叫Person,有两个属性:name和age,另外有一个方法,将显示出这个Person对象的名字和年龄,那么我们可以用下面的代码实现: public class Person { ...2009-06-08 14:33:07 · 165 阅读 · 0 评论 -
JavaScript面向对象程序设计(2): 数组
或许你会奇怪,面向对象的程序设计为什么从数组开始讲起?这是因为……其间的种种关系吧……嘿嘿,这里先卖个关子,先来看看我们熟悉的数组在JavaScript里面是什么样子的。 1. 创建数组 在JavaScript中有很多创建数组的方法。比如使用Array函数。不过这不是现在我们要讲述的。现在我们使用简单的方括号“[]”的办法来创建数组。 var objAyyar = [...2009-06-08 14:28:55 · 113 阅读 · 0 评论 -
JavaScript面向对象程序设计(1): 前言
1. 基于对象还是面向对象?面向对象技术是现代软件开发中的重要技术之一。面向对象变成的好处毋庸置疑,现在的主流语言如Java、C++都是面向对象的。现在的面向对象理论更多的是使用Java或C++进行描述,究其根源,在于这些语言都是传统的面向对象语言,具有面向对象理论所指明的一切特性:类、封装、继承、多态等等。 相比而言,一些动态语言如JavaSript就显得不那么面向对象——至少,在JavaScr...2009-06-08 14:24:13 · 109 阅读 · 0 评论 -
面向对象的JavaScript(2): 对象就是二元组
什么是对象?这里有很多关于对象的定义:对象(object)是一件事、一个实体、一个名词,是可以获得的东西,是可以想象的能够有自己标识的任何东西。对象是类的实例化。对象是一些相关的变量和方法的软件集合。Java和C++里面的对象似乎都要使用class定义之后,然后在new出来一个。很简单,很明了。但是在JavaScript中,却并没有class这个定义。那么,JavaScri原创 2009-04-21 20:42:00 · 1832 阅读 · 1 评论 -
面向对象的JavaScript(3): 函数也是对象
在很多语言中,函数或者方法和对象是两个截然不同的概念。函数是对象可以进行的动作。在面向对象理论中,函数是由对象发起的消息。对象之间的通讯需要通过消息进行,而这个消息就是我们定义的对象。但是在JavaScript中,函数和对象的概念就没有那么明确了。可以这么理解,函数就是具有与之相关联的可执行的代码的对象。先来看一个普通的例子:function foo(name) { alert(原创 2009-04-22 21:33:00 · 467 阅读 · 0 评论 -
JavaScript面向对象程序设计(8): 优雅的封装还是执行的效率?
优雅的封装还是执行的效率?这是一个悖论。 优雅封装的程序看起来是那么的美妙:每个属性被隐藏在对象之后,你所能看到的就是这个对象让你看到的,至于它到底是怎么操作的,这个不需要你操心。 执行的效率就是另外一回事。就像是C语言和面向对象的C++之间的差别:C++很优雅,但是执行效率,无论是编译后的二进制代码还是运行期的内存的占用,都要比简单的C语言多出一截来。 这个问题在脚本语言...2009-06-21 11:04:55 · 206 阅读 · 0 评论