zoukankan      html  css  js  c++  java
  • JavaScript面向对象之创建类和方法

    一,js使用函数来定义类而不是像别的编程语言一样通过关键字class来定义,通过类本身(this)和原型(prototype)来完成面对对象编程!

    示例1,

    //创建ElectronicSignature类

    function ElectronicSignature () {

      //添加operatingSignature (操作签名)方法 

      this.operatingSignature = function () {

        console.log('ElectronicSignature类的operatingSignature 方法');

      }

      //添加updateSignature (操作签名)方法修改签名

      this.updateSignature = function () {

        console.log('ElectronicSignature类的updateSignature 方法');

      }

    }

    //实例化

    var electronicSignature = new ElectronicSignature ();

    //调用operatingSignature 方法

    electronicSignature.operatingSignature ();

    //调用updateSignature 方法

    electronicSignature.updateSignature ();

    示例2,

    function ElectronicSignature (){

    }

    ElectronicSignature.prototype.operatingSignature = function(){

    console.log('ElectronicSignature类的operatingSignature方法');

    }

    ElectronicSignature.prototype.updateSignature = function(){

    console.log('ElectronicSignature类的updateSignature方法');

    }

    var electronicSignature = new ElectronicSignature();

    electronicSignature.operatingSignature();

    electronicSignature.updateSignature();

     上面2个示例都是实现一样的效果,下面来详细解释下

    二,类和对象的关系

    1.JavaScript中类是使用构造器来定义;

    类由两个部分类声明和类体两个部分组成,类声明由函数构造器完成(即function),函数体就是类体。

    2.在类体(函数体)内定义属性,若要创建属性,最简单的方式就是使用this关键字,

    3.在类体定义方法,若要创建方法,可以使用function关键字创建匿名函数定义,将匿名函数赋给一个变量,使用this关键字引用该变量,

    三,类和属性

    1.JavaScript中定义属性,最简单的方法就是直接使用使用this关键字定义变量。

    上面的创建属性和方法的示例就不写了,因为基本都知道怎么写,上面就有

    四,关于this与prototype定义方法与属性的解释

    1.先是this关键字之后的点语句连接的属性即方法,属性即方法赋值一个匿名函数,因为JavaScript的特殊性,属性与方法类似。

    2.每个类都有prototype属性,该属性是一个静态属性,因此无需实例化,只需要使用类引用该属性即可

  • 相关阅读:
    csuoj 1111: 三家人
    csu oj 1339: 最后一滴血
    csuoj 1337: 搞笑版费马大定理
    csuoj 1334: 好老师
    csu oj 1330 字符识别?
    C++动态内存分配
    变量内存分配
    codevs 2235 机票打折
    contesthunter CH Round #64
    面试分享:一年经验初探阿里巴巴前端社招
  • 原文地址:https://www.cnblogs.com/ChineseLiao/p/7677261.html
Copyright © 2011-2022 走看看