面向对象

2020-10-19  本文已影响0人  lucky_yao

1:什么是对象obj?

对象是有若干个键值对组成的,他是一种数据集合。

2:对象的创建方式:

2.1:字面量创建

var o={};

2.2: 关键字创建

var o=new Object();

3:对象的写法格式和注意点:

格式1:

var o={

name:'老栗',

age:18,

job:'student',

fun:function(){

alert(this.name+this.age+this.job)

}

格式2:

var o=new Object();

o.name='老栗';

o.age=18;

o.job='student';

o.fun=function(){

alert(this.name+this.age+this.job)

}

注意:冒号前叫键,冒号后叫值,通过键去找值。

4:什么是面向对象?

我们以前写代码的过程叫,面向过程的写法,现在我们要学习面向对象的写法。

我们学习完,面向对象以后,会按照面向对象的写法,写这个案例。

面向对象是一种思想(oop)。

5:面向对象的特点:

5.1:封装

5.2:多态

5.3:抽象

5.4:继承

#我们学习完面向对象的特点以后,会按照面向对象的思想指导去写我们的demo案例。

#我们到到位以后重要的,常用的框架或者一些重要的库,里面的地产架构都有面向对象在里面。

6:面向对象要学习的知识点:

    6.1工厂模式的写法:

        6.1.1:为什么学习工厂模式?

            工厂模式解决了,多个相同对象代码冗余的问题。

            工厂可以提高我们的工作效率,减少代码量。

        6.1.2:工厂模式写法步骤:

            1:创建一个函数

            2:函数里面创建一个对象

            3:把函数的形参赋值给对象的属性

            4:返回对象

            5:把函数赋值给一个变量,调用对象方法

        6.1.3:工厂模式写法缺点:

            不能识别对象实例化。

7:构造函数模式的写法:

    7.1:构造函数解决了不能识别对象实例化的问题。

    7.2:构造函数里的this是指向构造函数的。

    7.3:new Crea()这个函数就变成了对象类型。

    7.4:构造函数名首字母应该大写。

    举例:

        function Crea(name,age){

            this.a=name;

            this.b=age;

            this.f=function(){

                alert(this.a+this.b);

                alert(this)//[object Object]

            }

}

var t1=new Crea('tom',12)

var t2=new Crea('jicak',123)

8:instanceof 是判断变量是否是这个对象的实例化对象。(判断这个变量是否和这个对象是同源的)

9:实例化和类,对象的概念

function a(){

}

var o=new a();

对象:函数被关键字 new 以后就变成了实例化对象

类:函数被关键字new完以后这个整体(new a())被称之为类

类的作用就是一个模具,通过这个模具可以复制很多对象。

实例化:函数被关键字 new完以后,赋值给一个变量的过程叫实例化对象  var o=new a();

变量被实例化后,就拥有了函数对象里面的属性和方法。

10:什么是原型对象?

    1:prototype翻译过来叫原型,他本身的类型是对象。本的中文和类型加起来简称==原型对象

    2:原型对象它存在实例对象和函数中。

11:原型对象的作用:

    就是可以共享属性和方法。

12:实例对象 函数 原型对象之间的关系?

    函数通过关键new赋值给一个变量,这个变量就变成了实例对象。(说白了实例对象是函数new出来的)

    函数通过原型prototype生成原型对象(原型对象也是从函数出来的)

    原型对象通过constructor可以找到函数

    实例对象通过__proto__可以找到原型对象

13:prototype proto constructor的作用?

    prototype是对象类型,存储函数当中,作用是共享属性和方法

    __proto__是存储实例对象中,作用:实例对象同__proto__可以获取原型对象的属性和方法。

    constructor是原型对象下面的属性,作用:指向了函数

14:写面向对象的步骤

把面向过程的js代码改写成面向对象思维js代码

* 1:不能有函数的嵌套 ,如果有把嵌套的函数全部提出来

* 2:可以有全局变量

* 3:把onload改成构造函数

* 4:把全局变量变成属性

* 5:把函数变成方法(在这里指的是Tab)

* 6:不能把获取属性的值写死

* 7:改错

15:删除属性的唯一方法是使用 delete 操作符;设置属性为 undefined 或者 null 并不能真 正的删除属性, 而仅仅是移除了属性和值的关联。

16: hasOwnProperty()方法和 in 操作符的用法

hasOwnProperty() 方法用来判断某个对象是否含有指定的自身属性

上一篇下一篇

猜你喜欢

热点阅读