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