目录

示例 1

示例 2

示例 3

示例 4

单例模式


示例 1

ES6Demo1.html 内容如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"><title>ES Demo1 </title><!-- JQuery CDN--><script src="http://code.jquery.com/jquery-2.1.1.min.js"></script><!-- H5 开始 script标签可以不用写 type 属性--><script src="ES6_Demo1.js"></script>
</head>
<body></body>
</html>

ES6Demo1.js 内容如下:

/*** Created by Administrator on 2018/11/13 0013.*/
$(function () {//use strict:表示启用严格模式,严格模式下,代码书写必须符合规范,否则不通过//从 ES5 开始,函数内部可以设定为严格模式;ES6开始 js 默认开启严格模式'use strict';/*** Animal 相当与一个对象* showName、showAge 是对象的方法* @constructor*/var Animal = function () {this.showName = function () {console.log("My name is DogChen.\r\n");}this.showAge = function () {console.log("我今年 8 岁.\r\n");}}/**调用 Animal 对象的方法*/new Animal().showName();new Animal().showAge();/**调用 Animal 对象的方法*/var animal = new Animal();animal.showName();animal.showAge();
});

示例 2

ES6Demo1.html 内容不变,ES6Demo1.js 内容修改如下:

/*** Animal 相当与一个对象* showName、showAge 是对象的方法* @constructor*/
var Animal = function () {/*** 如果将来想要链式调用,则方法中将对象返回出去* @returns {Animal}*/this.showName = function () {console.log("My name is DogChen.\r\n");return this;}this.showAge = function () {console.log("我今年 8 岁.\r\n");return this;}
}//除了直接在对象里面定义方法,也可以后期使用 prototype 关键字进行定义
Animal.prototype.showAddress = function () {console.log("我家住在大明湖畔.\r\n");return this;
}$(function () {//use strict:表示启用严格模式,严格模式下,代码书写必须符合规范,否则不通过//从 ES5 开始,函数内部可以设定为严格模式;ES6开始 js 默认开启严格模式'use strict';/**调用 Animal 对象的方法*/new Animal().showName().showAge().showAddress();/**调用 Animal 对象的方法*/var animal = new Animal();animal.showName().showAge().showAddress();
});

示例 3

ES6Demo1.html 内容不变,ES6Demo1.js 内容修改如下:

//使用 class 关键字来定义类
class Animal {//constructor 相当于类的构造器constructor() {console.log("Animal 无参构构造器执行...");}//constructor 相当于类的构造器,注意与 Java 可以重载构造器不同,ES 6 中类的构造器只能有一个/*constructor(name, age) {console.log("Animal 有参构造器执行,name=" + name + ",age=" + age);}*/
}$(function () {new Animal();//new Animal("华安", 35);
});

示例 4

ES6Demo1.html 内容不变,ES6Demo1.js 内容修改如下:

//使用 class 关键字来定义类
class Animal {//constructor 相当于类的构造器constructor() {console.log("Animal 无参构构造器执行...");}//类中普通方法showName() {console.log("我叫金三顺.");return this;}//类中的静态方法,类似 Java ,调用时直接使用 类.方法名,如 Animal.showAge()// 这样调用 new Animal().showAge() 则是错误的static showAge() {console.log("静态方法,我今年 30 岁.");return this;}
}$(function () {new Animal().showName();console.log("---------");Animal.showAge();
});

单例模式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"><title>单例模式/title><script src="http://code.jquery.com/jquery-2.1.1.min.js"></script><!-- ES6 时,script 的 type 需要标识成 module,否则箭头函数编译不通过,即无法识别--><script type="module">/**动物类*/class Animal {constructor() {console.log("Animal 构造器执行...");}/*** 如同 java 的静态工程模式创建单例一样,一个游戏应该只有一个导演的,所以这里也是如此* @returns {*}*/static getInstance() {/*** 直接创建成员变量 instance* 第一次时 instance 为 undefined,而 !undefined 就会等于 true* 只要 instance 有值,if 都会作为 true 处理*/if (!Animal.instance) {Animal.instance = new Animal();}return Animal.instance;}}$(function () {/**Animal 的构造器之后执行一次*/Animal.getInstance();Animal.getInstance();Animal.getInstance();});</script>
</head>
<body>
</body>
</html>

ES6 面向对象编程相关推荐

  1. ES6学习笔记(一):轻松搞懂面向对象编程、类和对象

    文章目录 面向过程编程P OP(Process oriented programming) 面向对象编程OOP(Object Oriented Programming) ES6中的类和对象 面向对象 ...

  2. 《javascript面向对象编程指南》读书笔记

    <javascript面向对象编程指南>读书笔记 <javascript面向对象编程指南>读书笔记 第一章 面向对象的JavaScript 第二章 基本数据类型与流程控制 变量 ...

  3. JavaScript(四)——面向对象编程、BOM、DOM、表单验证、jQuery

    文章目录 1. 面向对象编程 2. 操作BOM对象(重点) 3. 操作DOM对象(重点) 4. 操作表单(验证) 5. jQuery 1. 面向对象编程 (1) 原型对象 javascript.Jav ...

  4. JavaScript 面向对象编程(四) —— 正则表达式

    本篇为 JavaScript 进阶 ES6 系列笔记第四篇,将陆续更新后续内容.参考:JavaScript 进阶面向对象 ES6 : 系列笔记: JavaScript 面向对象编程(一) -- 面向对 ...

  5. JavaScript 面向对象编程(三) —— 函数进阶 / 严格模式 / 高阶函数 / 闭包 / 浅拷贝和深拷贝

    本篇为 JavaScript 进阶 ES6 系列笔记第三篇,将陆续更新后续内容.参考:JavaScript 进阶面向对象 ES6 :ECMAScript 6 入门 系列笔记: JavaScript 面 ...

  6. JavaScript 面向对象编程(二) —— 构造函数 / 原型 / 继承 / ES5 新增方法

    本篇为 JavaScript 进阶 ES6 系列笔记第二篇,将陆续更新后续内容.参考:JavaScript 进阶面向对象 ES6 :ECMAScript 6 入门 : Javascript 继承机制的 ...

  7. JavaScript 面向对象编程(一) —— 面向对象基础

    本篇为 JavaScript 进阶 ES6 系列笔记第一篇,将陆续更新后续内容.参考:JavaScript 进阶面向对象 ES6 文章目录 「一」面向对象编程介绍 「二」ES6 中的类与对象 「三」类 ...

  8. JavaScript 的函数式编程与面向对象编程区别在哪?

    本文通过代码来看一看JavaScript中函数式编程和面向对象编程的差异. 作者 | Jesse Warden 译者 | 弯月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文 ...

  9. php控制器面向对象编程,PHP 面向对象编程(2)

    一些内建方法: class Person { public $isAlive = true; function __construct($name) { //这里我们创建了一个name的属性 $thi ...

  10. 【JavaScript】ES5和ES6面向对象

    前言(Preface) Object Oriented 的一个标志就是 Class (类),通过类可以创建任意多个具有相同属性和方法的对象.然而,JavaScript中只有对象,没有类. ECMA-2 ...

最新文章

  1. Nature子刊:三代测序重构菌株水平宏基因组序列的计算框架iGDA
  2. mysql8.0.12插件_mysql 8.0.12 安装使用教程
  3. 给想学python-要学 Python 需要怎样的基础?
  4. 阿里云在应用扩缩容下遇到的挑战与选型思考
  5. leetcode1437. 是否所有 1 都至少相隔 k 个元素
  6. OpenStack精华问答 | OpenStack是云吗?
  7. java实现定时任务 schedule_Java定时任务的三种实现方式
  8. Spss乱码问题的解决方法
  9. 微信小程序中使用wx.showToast()进行界面交互
  10. JAVA数据结构之红-黑树
  11. 135节---------4月11日
  12. pdf文档转化为doc文档 (转载)
  13. Alpine基础用法
  14. Opengl绘制地图
  15. 互联网日报 | 5月9日 星期日 | 特斯拉Model3宣布涨价;奈雪回应“6月中上旬上市”;FF91将在纽约与消费者见面...
  16. 国信证券学习系列(1)
  17. 怎么改html文件的桌面图标,教你怎么把软件图标换成自己喜欢的图标
  18. 云顶之弈机器人法爆_云顶之弈AP机器人打法,一爪2466伤害,六贵族双凯尔也顶不住!...
  19. 如何自学好c语言,如何学好C语言?
  20. 今晚8点:手把手教你使用 ART-Pi 入门 TOUCHGFX

热门文章

  1. 提交json数据给Java_java 实现通过 post 方式提交json参数操作
  2. sql 判断分钟是偶数数据_SQL注入数据库类型判断
  3. ddr3配置 dsp6678_简简单单学TI 多核DSP(2):TMS320C6678的时钟配置
  4. 宏转录组方法_高级转录组分析和R语言数据可视化第12期 (线上线下同时开课)
  5. laravel nginx_在nginx上用FastCGI解析PHP
  6. 拓端tecdat|R语言进行数值模拟:模拟泊松回归模型的数据
  7. SystemExit: 2
  8. AndroidStudio使用XmlPullParser解析xml文件
  9. 清华大学操作系统OS学习(三)——启动、中断、异常和系统调用
  10. os.path.join()函数