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属性,该属性是一个静态属性,因此无需实例化,只需要使用类引用该属性即可

  • 相关阅读:
    【类似N^N做法的斐波那契数列】【HDU1568】 Fibonacci
    【取对数+科学计数法】【HDU1060】 N^N
    【枚举+数学】【HDU1271】整数对 难度:五颗星
    【欧拉函数】【HDU1286】 找新朋友
    【筛素数表证明】【O[n]】
    【沙茶了+筛选保存最大质因数】【HDU2136】Largest prime factor
    【gcd+数学证明】【HDU1722】 CAKE
    【贪心】【HDU3177】 搬家问题
    HDU2093 字符串2种不错的读入思路
    tf.argmax()
  • 原文地址:https://www.cnblogs.com/ChineseLiao/p/7677261.html
Copyright © 2011-2022 走看看