对比es6class类和构造函数
- 构造函数
- 在原来class 类这个语法糖没有出来之前 我们一般会把方法挂在prototype 上 为了防止过多的开辟内存 
- 1 // 构造函数-------------------------------------------------------- 
 2 function Round(radius) {
 3 this.radius = radius;
 4 this.PI = Math.PI;
 5 this.arr = [this.area().toFixed(2), this.perimeter().toFixed(2)];
 6 }
 7 Round.prototype.area = function () {
 8 return this.PI * Math.pow(this.radius, 2);
 9 };
 10 Round.prototype.perimeter = function () {
 11 return 2 * this.PI * this.radius;
 12 };console.log(new Round(4).arr);// 打印 ['50.27', '25.13']
- es6 class 写法
- class 是个语法糖是把上面的方法重新封装把方法直接写在class这个大类里就等于挂在prototype 上
- 1 // es6 新写法--------------------------------------------------- 
 2 class MyRound {
 3 constructor(radius) {//固定的
 4 this.radius = radius;
 5 this.PI = Math.PI;// 调用Math对象的PI
 6 this.arr = [this.area().toFixed(2), this.perimeter().toFixed(2)];//toFixed 保留两位小数
 7 }
 8 area() {//自己定义的
 9 return this.PI * Math.pow(this.radius, 2);//Math.pow()平方
 10 }
 11 perimeter() {//自己定义的
 12 return 2 * this.PI * this.radius;
 13 }
 14 }
 15 console.log(new myRound(4).arr);// 打印 ['50.27', '25.13']
对比es6class类和构造函数的更多相关文章
- C++与C#对比学习:类初始化
		类和柏拉图的理念世界 我们知道面向对象编程中到处是一个个的类,但类只是个概念性的东西,不是个实体,不占内存,你没实例化之前也不能用它.只有把类实例化成一个对象后,它才是一个真正存在的实体.占有内存,能 ... 
- scala中的面向对象定义类,构造函数,继承
		我们知道scala中一切皆为对象,函数也是对象,数字也是对象,它是一个比java还要面向对象的语言. 定义scala的简单类 class Point (val x:Int, val y:Int) 上面 ... 
- 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成员)
		[源码下载] 不可或缺 Windows Native (21) - C++: 继承, 组合, 派生类的构造函数和析构函数, 基类与派生类的转换, 子对象的实例化, 基类成员的隐藏(派生类成员覆盖基类成 ... 
- scala入门教程:scala中的面向对象定义类,构造函数,继承
		我们知道scala中一切皆为对象,函数也是对象,数字也是对象,它是一个比java还要面向对象的语言. 定义scala的简单类 class Point (val x:Int, val y:Int) 上面 ... 
- [转]c++类的构造函数详解
		c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初 ... 
- C++-什么时候需要在类的构造函数中使用初始化列表
		1,如果基类没有default构造函数,则意味着其不能自己初始化.如果其被派生,派生类的构造函数要负责调用基类的构造函数,并传递给它需要的参数.下例中Base 2,如果类成员没有默认构造函数.下例中E ... 
- tuple解包给类的构造函数
		首先我们的第一步当然是将tuple解包.tuple提供了一个get函数来获取第N个元素.例如: get<1>(make_tuple(...)); 要将一个tuple全部拆解,就可以使用通过 ... 
- C++学习17派生类的构造函数
		基类的构造函数不能被继承,在声明派生类时,对继承过来的成员变量的初始化工作也要由派生类的构造函数来完成.所以在设计派生类的构造函数时,不仅要考虑派生类新增的成员变量,还要考虑基类的成员变量,要让它们都 ... 
- C++中 类的构造函数理解(一)
		C++中 类的构造函数理解(一) 写在前面 这段时间完成三个方面的事情: 1.继续巩固基础知识(主要是C++ 方面的知识) 2.尝试实现一个iOS的app,通过完成app,学习iOS开发中要用到的知识 ... 
随机推荐
- Python列表解析式的正确使用方式(二)
			高级解析式 条件逻辑早些时候,我向您展示了这个公式: python学习交流群:660193417### new_list = [expression for member in iterable] 公 ... 
- thymeleaf实现前后端数据交换
			1.前端传数据后端接收: 用户在登录界面输入用户名和密码传给后端controller,由后端判断是否正确! 在html界面中要传递的数据name命名,通过表单的提交按钮会传递给响应的controlle ... 
- Elasticsearch深度应用(下)
			Query文档搜索机制剖析 1. query then fetch(默认搜索方式) 搜索步骤如下: 发送查询到每个shard 找到所有匹配的文档,并使用本地的Term/Document Frequer ... 
- Solution -「基环树」做题记录
			写的大多只是思路,比较简单的细节和证明过程就不放了,有需者自取. 基环树简介 简单说一说基环树吧.由名字扩展可得这是一类以环为基础的树(当然显然它不是树. 通常的表现形式是一棵树再加一条非树边,把图画 ... 
- 1_day01_操作系统安装
			操作系统安装 内容介绍 1.制作U盘启动器 2.备份驱动 3.安装操作系统 4.驱动更新 5.依赖库检测 6.系统漏洞修复 7.系统布局优化 一.制作U盘启动器 1.1 下载老毛桃 下载老毛桃pe工具 ... 
- vue使用vuex报错 "export 'watch' was not found in 'vue'
			问题 安装Vuex后报错"export 'watch' was not found in 'vue' 解决方法 如果你的vue版本是 2.X ,将vuex升到 3.X.X 就能够解决 npm ... 
- 栈和排序_via牛客网
			题目 链接:https://ac.nowcoder.com/acm/contest/26886/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语 ... 
- 基于.NetCore开发博客项目 StarBlog - (16) 一些新功能 (监控/统计/配置/初始化)
			系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ... 
- Auto.js 调用系统短信、电话
			本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! Auto.js 调用系统短信.电话 操作 ... 
- Java版的防抖(debounce)和节流(throttle)
			概念 防抖(debounce) 当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定时间到来之前,又触发了事件,就重新开始延时. 防抖,即如果短时间内大量触发同一事件,都会 ... 
