1、面向对象思想
- 首先,我们要明确,面向对象不是语法,是一种思想,是一种编程模式
- 面向:面(脸),向(朝着)
- 面向过程:脸朝着过程=> 关注着过程的编程模式
- 面向对象:脸朝着对象=> 关注着对象的编程模式
- 实现一个效果:
- 在面向过程的时候,我们要关注每一个元素,每一个元素之间的关系,顺序...
- 在面向对象的时候,我们要关注的就是找到一个对象来帮我做这个事情,我等待结果
- 我们以前的编程思想是,每一个功能,都按照需求一步一步的逐步完成
2、构造对象方式:
javascript"> <script>
function CreateObj(name){
//自动构建一个对象
this.name = name
this.material = []
this.cook = function(){
}
//自动返回一个对象
}
let obj1 = new CreateObj("小笼包")//构造一个函数
console.log(obj1)
</script>
结果:
解释说明:用new + 函数名的方式:前面一个new,这个函数就叫做构造函数,这个函数可以自动创建一个对象出来,也会自动返回一个对象,对象返回值也是对象。
注意点:
- 构造函数函数名首字母大写;
- 构造函数不写return;
- this指向new 构造函数后生成的对象,当把这个对象赋值给变量,这个this也可以认为指向这个变量;
- new过程 ===实例化过程
javascript"> <script>
function CreateObj(name){
//自动构建一个对象
this.name = name
this.material = []
this.cook = function(){
}
//自动返回一个对象
}
new CreateObj("小笼包")//new过程 ===实例化过程
//实例对象已经生成
</script>
- 当new CreateObj("小笼包")时,这个实例对象已经生成了,new过程就是实例化过程,此时这个this指向的就是这个实例对象,当我们把这个实例对象赋值给一个变量时,也可以说this指向的是这个变量:
javascript">var obj = new createObj("小笼包")//new过程 ===实例化过程