3.30面向对象学习

引入:

  • 面向对象编程:找到可以解决问题的对象,调用其功能解决问题
  • 面向过程编程:按照步骤一步一步解决问题

工厂函数:

function createPerson(name,age){
        let person={name,age}
        return person
        }

构造函数:在一定程度上可以看做对象的模板

  1. 函数名就是对象类型名,首字母大写     
  2. 构造函数中,this关键字只定义属性和方法
  3. 通过new语句,调用构造函数创建对象

检查数据类型:

        对象类型: instanceof obj ====>object

基本数据类型:使用typeof来检测

对象类型:

  • 实例对象==>通过new语句调用构造函数来创建==>let p1=new Person();  ==>p1为引用变量
  • 原型对象
  • 函数对象

原型对象    ==> 实例.__proto__===构造函数名.prototype

  1. js规定,每个构造函数都有一个prototype属性,指向它的原型对象
  2. 在原型对象上定义的属性和方法可以被所有构造函数对应的实例所访问
<script>
        //手机类
        function Phone(color, type) {
            this.color = color
            this.type = type
            //打电话
            this.callPhone = function () {
                console.log('构造函数 >>>',this.color + this.type + '的手机打电话')
            }
        }

        //在Phone的原型对象上定义一个sendMessage的方法
        Phone.prototype.sendMessage = function () {
            console.log('发短信');
        }
        Phone.prototype.size = '16寸'
        Phone.prototype.callPhone = function(){
            console.log('原型对象 >>>>',this.color + this.type + '的手机打电话')
        }
     
        //创建手机对象
        let phone1 = new Phone('白色', 'iphone13-10012')
        let phone2 = new Phone('黑色', '华为-s1009')

        // phone1.sendMessage()
        // console.log( phone1.size );
        phone1.callPhone()
        phone2.callPhone()

        console.dir(Phone.prototype);  //原型对象
        console.dir(phone1);
        console.dir(phone2);

        //[[Prototype]] <==> __proto__
        console.log( phone1.__proto__  === Phone.prototype );

    </script>

 

 

 

原型对象的优点:定义一些公共属性和方法,供实例对象来使用,节约内存空间。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值