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

JavaScript面向对象之创建类和方法的更多相关文章

  1. python-获取类名和方法名,动态创建类和方法及属性

    获取类名和方法名1.在函数外部获取函数名称,用.__name__获取2.在函数内部获取当前函数名称,用sys._getframe().f_code.co_name方法获取3.使用inspect模块动态 ...

  2. 078 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 03 创建类

    078 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 03 创建类 本文知识点:创建类 说明:因为时间紧张,本人写博客过程中只是对知识点的关 ...

  3. JS创建类的方法--简单易懂有实例

    版权声明:本文为博主原创文章,转载请注明出处 Javascript是一种基于对象的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有Class. ...

  4. javascript的对象、类和方法

    1.类和对象的概念: 1.所有的事物都是一个对象,而类就是具有相同属性和行为方法的事物的集合 2.在JavaScript中建立对象的目的就是将所有的具有相同属性的行为的代码整合到一起,方便使用者的管理 ...

  5. JS面向对象编程创建类的方式

    js创建类的方式有几种,大致如下: 1,构造函数方式: function Car(parameters) { this.name = "objectboy"; } var cat1 ...

  6. 如何在JavaScript中手动创建类数组对象

    前言 关于什么是js的类数组对象这里不再赘述.可以参考这个链接,还有这里. js中类数组对象很多,概念简单的讲就是看上去像数组,又不是数组,可以使用数字下标方式访问又没有数组方法. 例: argume ...

  7. Javascript使用function创建类的两种方法

    1.使用function类 //myFunction.js var CMyFunc=function() { //类的公共方法,供外部调用 this.Func1=function() { var i= ...

  8. python_面向对象——动态创建类和isinstance和issubclass方法

    # 给动态生产的类定义一个方法 def __init__(self,name): self.name = name print(self.name) def take(self,obj): print ...

  9. 疯狂java学习笔记之面向对象(一) - 定义类、方法、构造器

    Java面向对象 1.定义类 2.创建对象.调用方法 类和对象: 某一类对象的概念定义. 比如:人类 - 抽象出来的概念(不特指某个人) 对象 - 在类的概念下产生的一个实例,它就是一个对象了. ja ...

随机推荐

  1. Fluent动网格【1】:概述

    最近总有小伙伴向我询问Fluent中的动网格问题,因此决定做一期关于Fluent动网格技术的内容. 动网格技术在流体仿真中很特殊,应用也很广.生活中能够碰到形形色色的包含有部件运动的问题,比如说我现在 ...

  2. Asp.Net WebApi swagger使用教程

    swagger简介 别名:丝袜哥 功能:用于生产api文档 swagger安装 Nuget搜索swagger,然后安装Swashbuckle swagger使用 生成api的xml文档 webapi项 ...

  3. 3. ELMo算法原理解析

    1. 语言模型 2. Attention Is All You Need(Transformer)算法原理解析 3. ELMo算法原理解析 4. OpenAI GPT算法原理解析 5. BERT算法原 ...

  4. java框架篇---hibernate之连接池

    Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP.在配置连接池时需要注意的有三点: 一.Apche的DBCP在Hibernate2中受支持,但在Hiber ...

  5. WebApi XML,Json格式自定义,IEnumerable<T>,ArrayOf

    global.ascx中application-start() GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSeri ...

  6. vue用组件构建应用

    组件系统是 Vue.js 另一个重要概念,因为它提供了一种抽象,让我们可以用独立可复用的小组件来构建大型应用.如果我们考虑到这点,几乎任意类型的应用的界面都可以抽象为一个组件树: 在 Vue 里,一个 ...

  7. Java知多少(88)列表和组合框

    列表和组合框是又一类供用户选择的界面组件,用于在一组选择项目选择,组合框还可以输入新的选择. 列表 列表(JList)在界面中表现为列表框,是JList类或它的子类的对象.程序可以在列表框中加入多个文 ...

  8. MySQL 5.7的安装及主从复制(主从同步)

    1.master上开启binlog日志,配置如下 一般mysql配置文件在目录/etc下,叫my.cnf (如果找不到的话也有可能在这些目录下:/etc/my.cnf,/etc/mysql/my.cn ...

  9. mysql按天数据统计

    例: SELECT DATE_FORMAT(`create_time`, ) AS num FROM `dc_loan_aa_orders` GROUP BY DATE_FORMAT(`create_ ...

  10. eclipse安装emmet插件

    http://www.cnblogs.com/matchless/archive/2013/04/10/3011973.html