[TimLinux] JavaScript 面向对象程序设计

1. 面向对象

面向对象语言有一个标志:都有类的概念。通过类可以创建任意多个具有相同属性和方法的对象。ECMAScript中没有类的概念,因此JavaScript中的对象夜雨基于类的语言中的面向对象有所不同。

定义:

  • 无序属性的机会
  • 属性可以包含:基本值、对象或者函数

对象:一组没有特定顺序的值,对象的每个属性或方法都有一个名字,每个名字都映射到一个值,想象成散列表:无非就是一组名值对,其中值可以是数据或者函数。每个对象都是基于一个引用类型创建的,这个引用类型可以是原生类型(Object类型、Array类型、Date类型、RegExp类型、Function类型、基本包装类型[Boolean类型、Number类型、String类型]、单体内置对象[Global对象、Math对象]),也可以是开发人员定义的类型。

2. 理解对象

示例代码1:

var person = new Object();
person.name = 'Tim Zhang';
person.age = 22;
person.job = "Software Enginner";

person.sayName = function () {
    console.log(this.name);
};
  • 创建了person对象
  • person对象有三各属性:name, age, job,一个方法:sayName()
  • sayName()调用了name属性
  • 早起JS开发人员创建对象的流行方式

示例代码2:

var person = {
    name: 'Tim Zhang',
    age: 22,
    job: "Software Engineer",
    
    sayName: function () {
        console.log(this.name);
    }
};
  • 效果与示例1一样
  • name, age, job, sayName都没有带引号
  • 属性、方法间采用“逗号“分割

2.1. 属性类型

ttt

2.2. 多个属性

ttt

2.3. 读取属性的特性

ttt

3. 创建对象

ttt

4. 继承

ttt

猜你喜欢

转载自www.cnblogs.com/timlinux/p/9266666.html