WEB开发网
开发学院网页设计JavaScript JavaScript面向对象程序设计(6): 封装 阅读

JavaScript面向对象程序设计(6): 封装

 2009-09-11 00:00:00 来源:WEB开发网   
核心提示:封装是面向对象的重要概念之一,如果一个程序没有封装性,JavaScript面向对象程序设计(6): 封装,也就谈不上什么面向对象,但是,也就是把对象和这些属性或函数相关联,看上去就像是这个调用者拥有这个属性或者函数似的,JavaScript并不像其他的语言,比如 Java

封装是面向对象的重要概念之一。如果一个程序没有封装性,也就谈不上什么面向对象。但是,JavaScript并不像其他的语言,比如 Java,有公有变量和私有变量等;在JavaScript中只有一种作用域:公有作用域。在本章中,我们将会见识到JavaScript是如何实现封装的特性的。

1. this和公有变量

首先需要理解this关键字。看下面的一段代码,你应该对此感到熟悉:

function Person(name, age) {
        this.name = name; // 定义一个公有变量
     this.age = age;
        this.show = function() { // 定义一个公有函数
                alert("name: " + name + "; age: " + age);
        }
}
var bill = new Person("Bill", 20);
alert(bill.name);
bill.show();

这里的this关键字是必不可少的。前面只是让大家记住,那么为什么要这样呢?想想JavaScript的对象,JavaScript的对象类似于散列,一个<string, object>键-值对的集合。这里的对象的属性实际上都是离散的,并不像其他的语言那样绑定到一个对象上面。this关键字指代的是属性或者函数的调用者,也就是说,谁调用这个属性或者函数指的就是谁。可以看到,这里的this和Java或者C++的this是有所不同的,后者的this是指属性或者函数所在的那个对象本身。而这里this的作用就是将它后面跟着的属性或者对象绑定到调用者上面。回忆一下JavaScript的new的过程,首先将创建一个空的对象,然后使用构造函数初始化这个对象,最后返回这个对象。在这个过程中,JavaScript将把this用这个对象替换,也就是把对象和这些属性或函数相关联,看上去就像是这个调用者拥有这个属性或者函数似的,其实这是this的作用。

编缉推荐阅读以下文章

  • JavaScript面向对象程序设计(8): 优雅的封装还是执行的效率?
  • JavaScript面向对象程序设计(7): 闭包
  • JavaScript面向对象程序设计(5): 类
  • JavaScript面向对象程序设计(4): 函数
  • JavaScript面向对象程序设计(3): 对象
  • JavaScript面向对象程序设计(2): 数组
  • JavaScript面向对象程序设计(1): 前言
  • 理解JavaScript面向对象的思路
  • Javascript面向对象详解(第一部分)
  • JavaScript面向对象的支持(下)

1 2 3  下一页

Tags:JavaScript 面向 对象

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接