美文网首页
面向对象不得不说二三事(1)

面向对象不得不说二三事(1)

作者: Lynne_2ca7 | 来源:发表于2018-11-07 17:39 被阅读0次

    1、ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP)。面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。

    2、面向对象特点:

    抽象:抓住核心内容

    封装:只能通过对象来访问方法

    继承 :从已有对象上

    多态:

    3、对象的组成:

    方法:对象下面的函数叫做对象的方法

    属性:对象下面的变量

    var obj = new Object();

    obj.name = '小明';

    obj.showName=function(){

        alert(obj.name);

    }


    想创建多个类似的对象,就会产生大量的代码。为了解决多个类似对象声明的问题,我们可以使用一种叫做工厂模式的方法,这种方法就是为了解决实例化对象产生大量重复的问题。

    工厂方式: 相当于封装函数,在函数内部对代码进行加工,因此称作工厂方式

    例1:

    functon createPerson(name){

      // 1、原料

        var obj = new Object();

    //  2、加工

        obj.name = name;

        obj.showName = function(){

            alert( this.name );

        }

    // 3、出场

        return obj;  //为了让外部能调用创建的obj对象 因此返回obj

    }

    注解:

    当new去调用一个函数:这个时候函数中的this就是指创建出来的函数,而且函数的返回值直接就是

    this( 隐式返回 )

    注:正常的函数没有返回则会返回undefined,且正常的函数中this一般指代window

    则例1中的代码可改写为:

    function createPerson(name){

        this.name = name;

        this.showName = function(){

            alert( this.name );

        }

    }

    var p1 = new createPerson('小明');

    p1.showName();

    new后面调用的函数:叫做构造函数

    相关文章

      网友评论

          本文标题:面向对象不得不说二三事(1)

          本文链接:https://www.haomeiwen.com/subject/aznvxqtx.html