首先,我们要明确,面向对象不是语法,是一个思想,是一种 编程模式 ,面向对象即关注着对象的编程模式。
举个🌰:我要吃面条
面向过程是这样的:
-
用多少面粉 =》用多少水 =》怎么和面 =》怎么切面条 =》 做开水 =》煮面 =》吃面
面向对象是这样的:
-
找到一个面馆 =》 叫一碗面 => 等着吃
即:面向对象就是对面向过程的封装,在面向对象的时候,我们要关注的就是找到一个对象来帮我做这个事情,我等待结果
如何创建一个对象
1.调用系统内置的构造函数创建对象
// 就能得到一个空对象
var o1 = new Object()
// 正常操作对象
o1.name = 'Jack'
o1.age = 18
o1.gender = '男'
2.字面量的方式创建一个对象
// 字面量方式创建对象
var o1 = {
name: 'Jack',
age: 18,
gender: '男'
}
// 再来一个
var o2 = {}
o2.name = 'Rose'
o2.age = 20
o2.gender = '女'
3.使用工厂函数的方式创建对象
// 1. 先创建一个工厂函数
function createObj() {
// 手动创建一个对象
var obj = new Object()
// 手动的向对象中添加成员
obj.name = 'Jack'
obj.age = 18
obj.gender = '男'
// 手动返回一个对象
return obj
}
// 2. 使用这个工厂函数创建对象
var o1 = createObj()
var o2 = createObj()
4使用自定义构造函数创建对象
// 1. 先创造一个构造函数
function Person(name, gender) {
this.age = 18
this.name = name
this.gender = gender
}
// 2. 使用构造函数创建对象
var p1 = new Person('Jack', 'man')
var p2 = new Person('Rose', 'woman')
总结:
-
面向对象就是要想办法找到一个有属性和方法的对象
-
面向对象就是我们自己制造 构造函数 的过程