这个系列以往文字地址:

《Javascript高级程序设计》阅读记录(一):第二、三章

《Javascript高级程序设计》阅读记录(二):第四章

《Javascript高级程序设计》阅读记录(三):第五章 上

 

  我会把阅读《Javascript高级程序设计》之后,感觉讲的比较深入,而且实际使用价值较大的内容记录下来,并且注释上我的一些想法。做这个一方面是提升了我的阅读效果以及方便我以后阅读

  另一个目的是,Javascript高级程序设计这本书内容很多也很厚,希望其他没有时间的人可以通过看这系列摘录,就可以大体学到书里面的核心内容。

  绿色背景的内容是我认为比较值得注意的原著内容。

  黄色背景的内容是我认为非常重要的原著内容。

  我的理解会用蓝色的字体标示出来。

  这章的内容较多,而且比较重要,分两篇来记录,这个是上篇。 

第6 章面向对象的程序设计

  面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。前面提到过, ECMAScript 中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。

ECMA-262 把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。正因为这样(以及其他将要讨论的原因),我们可以把 ECMAScript 的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数。

每个对象都是基于一个引用类型创建的,这个引用类型可以是第 5 章讨论的原生类型,也可以是开发人员定义的类型。

  6.1 理解对象

  上一章曾经介绍过,创建自定义对象的最简单方式就是创建一个 Object 的实例,然后再为它添加属性和方法,如下所示。

var person = new Object();

person.name = "Nicholas";

person.age = 29;

person.job = "Software Engineer";

person.sayName = function(){

alert(this.name);

};

  上面的例子创建了一个名为 person 的对象,并为它添加了三个属性(name、 age 和 job)和一个方法(sayName())。其中, sayName()方法用于显示 this.name(将被解析为 person.name)的值。早期的 JavaScript 开发人员经常使用这个模式创建新对象。几年后,对象字面量成为创建这种对象的首选模式。前面的例子用对象字面量语法可以写成这样:

var person = {

name: "Nicholas",

age: 29,

job: "Software Engineer",

sayName: function(){

alert(this.name);

}

};
View Code

相关文章: