1、面向对象思想
首先,我们要明确,面向对象不是语法,是一种思想,是一种编程模式面向:面(脸),向(朝着)面向过程:脸朝着过程=> 关注着过程的编程模式面向对象:脸朝着对象=> 关注着对象的编程模式实现一个效果: 在面向过程的时候,我们要关注每一个元素,每一个元素之间的关系,顺序... 在面向对象的时候,我们要关注的就是找到一个对象来帮我做这个事情,我等待结果我们以前的编程思想是,每一个功能,都按照需求一步一步的逐步完成
2、构造对象方式:
<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过程 ===实例化过程 <script> function CreateObj(name){ //自动构建一个对象 this.name = name this.material = [] this.cook = function(){ } //自动返回一个对象 } new CreateObj("小笼包")//new过程 ===实例化过程 //实例对象已经生成 </script>
当new CreateObj("小笼包")时,这个实例对象已经生成了,new过程就是实例化过程,此时这个this指向的就是这个实例对象,当我们把这个实例对象赋值给一个变量时,也可以说this指向的是这个变量:var obj = new createObj("小笼包")//new过程 ===实例化过程