美文网首页
面向对象不得不说二三事(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