面向对象开发

面向过程

        亲力亲为的去实现效果

        特点:联系密切

面向对象

        一种开发思想或者开发方式

        宗旨:就是能找到一个能批量创建相似但是不一样的对象的机器

创建对象

        字面量的方式创建对象

                可以创建对象,但是创建出来的对象是相似但是不一样的,不能实现批量创建

        内置构造函数的方式

                可以创建对象,但是创建出来的对象是相似但是不一样的,不能实现批量创建

        工厂函数的方式创建对象

                语法:function fun (){}

                

        事件:手动创建对象

                手动添加成员

                手动返回对象

内置构造函数方式创建对象

        构造函数

                new关键字连用的函数就称之为构造函数

        内置构造函数的方式创建的内容

                new Object(对象)

                new Array(数组)

                new String(字符串)

                new RegExp(正则)

                new Date(日期对象)

js自带的

        自定义构造函数

                和new关键字连用的函数称之为构造函数

                

详解自定义构造函数

        自定义构造函数首字母大写,就是为了和普通函数区分

        在自定义构造函数中不要书写return

                如果返回的是一个基本数据类型,毫无意义

                如果返回的是一个复杂数据类型,自定义构造函数没有意义

                一定要和new关键字连用

                        只有连用时才有

                        自动创建一个空对象

                        this指向这个空对象

                        自动返回这个空对象

自定义构造函数的缺点

        概念:

                属性:我们把自定义构造函数内的值不是该函数得到叫做属性

                方法:把值是函数的叫做方法

                实例:把new出来的那个变量叫做实例

                实例化:把创建实例的过程叫做实例化

        不合理:

                把方法定义在构造函数体体内,构成内存浪费

原型对象和对象原型

原型对象

        原型对象就是函数天生自带的属性,是一个对象数据类型

        即-->prototype

对象原型

        是对象天生自带的一个属性,是一个非标准属性,不能用来赋值

        作用:提供一个指向,指向所属构造函数的原型对象

        即-->__proto__

        对象的访问

对象的访问

        当对象想要访问一个成员时(属性和方法)

        首先在自己身上查找

        有就使用,停止查找

        没有就在所属构造函数的原型对象中去查找

        注意:属性定义在构造函数体内,方法定义在原型对象上

自定义构造函数中的this

        在构造函数体中this指向实例

        在方法中this指向实例

总结:构造函数体内的this和原型方法中的this都指向实例

        我们的方法就是供实例使用的

ES6中的类

        就是使用ES6的语法书写自定义构造函数

        如何定义一个类

        使用的时候选哟new

万物皆对象

        就是在js中一切数据类型都可以看作是对象数据类型

数组两层空间

        一层数组空间。一层对象空间

函数两层空间

        一层函数空间,一层对象空间

Object . prototype . toString . call()

原型链

        概念:就是一个对象的访问机制

                就是从任何一个数据出发,由__proto__串连起来的链状结构

                当要访问一个成员的时候,首先在自己身上查找,如果有,就拿来使用停止查找

        原型对象:事函数天生自带的属性,prototype,是一个对象数据类型

        对象原型:是对象天生自带的一个属性,__proto__ 提供一个指向

        任何一个纯粹的对象都是 Object 的实例

对象的访问

判断数据类型

        typeof

                只能检测基本数据类型

                特殊的:null (返回值是object) undefined

                可以检测函数

        constructor

                语法:数据类型 . constructor

                返回值:就是对应的构造函数

                注意:就是null和undefined不能判断

        instanceof

                语法:数据结构 . instanceof 构造函数

                返回值:是一个布尔值

                注意:null和undefined不能检测

        object . prototype . toString . call()

                任何数据类型都能检测

                语法:object . prototype . toString . call(你要检测的数据类型)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值