```
class nameFunc {
constructor(x, y) {
this.x = x;
this.y = y;
}
addFunc() {
return this.x + this.y
}
moveFunc() {
return this.x - this.y
}
}
var b = new nameFunc(30,20)
console.log(b.addFunc()) //50
console.log(b.moveFunc()) //10
```
> 上面这个等同于下面的ES5写法
```
function nameFunc(x,y){
this.x = x;
this.y = y;
}
nameFunc.prototype.addFunc = function () {
return this.x + this.y;
};
var b = new nameFunc(30,20)
console.log(b.addFunc()) //50
```
> ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。
*****
> 基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。上面的代码用 ES6 的class改写,就是顶部这样。
*****
> 上面代码定义了一个“类”,可以看到里面有一个constructor方法,这就是构造方法,而this关键字则代表实例对象。也就是说,ES5 的构造函数Point,对应 ES6 的Point类的构造方法。
*****
> 注意,定义“类”的方法的时候,前面不需要加上function这个关键字,直接把函数定义放进去了就可以了。另外,方法之间不需要逗号分隔,加了会报错。
*****
## class 类 无参数的操作
```
class Bar {
doStuff() {
console.log('stuff');
}
}
var b = new Bar();
b.doStuff() // "stuff"
```
ES6 class类的操作,更具想象力,业务更清晰
> 比如,我们做购物车的业务,可以定义一个购物车的类,购物车需要的业务逻辑都放这一个类里,清晰明了!
- JavaScript
- JS定义要点
- 数字千分位逗号隔开
- 数组排序
- JS字符串拼接,加逗号
- 日期计算周次
- JSON
- JS数组去重
- javascript 函数调用(HOT)
- 数组和对象重新组合,定义
- 遍历数组,循环内容输出,添加class
- JSON常用字段新增,对象数组重组
- js 获取对象的键和值,重新组合
- 取对象的键和值,重组数组
- 清除数组里为空的值
- JavaScript 变量提升
- JavaScript 闭包
- JavaScript random() 随机数
- js 多久内送到;设置当前时间延后20分钟到达,成新时间点
- javascript 判断当前时间是否在一个时间段内; 是否周六或者周日
- 设置当前时间延后30分钟到达 成新时间点
- JS倒计时demo
- 数组拼接
- 时间转换成 yy/mm/dd
- 通过字段返回信息进行文本渲染
- JavaScript replace()方法
- (去重)js计算数组里的对象的某个值相同,其余值相加
- (去重)JS比较两个数组对象,取出不同的值
- (判重)数组对象判断内容是否相同,分组,相同的生成对应的标签
- JS 三元表达式(多条件)
- Typescript
- TS要点定义
- ECMAScript 6
- 模板字符串
- class语法
- JavaScript 杂谈
- get和post请求的区别?
- js的事件冒泡和时间捕获?
- 本地存储 localStorage 和 sessionStorage 和 cookie
- WebPack和Grunt以及Gulp相比有什么特性
- js对象浅拷贝和深拷贝
- JQ事件委托
- JS如何判断数组是Array类型
- HTML/CSS
- transform 浏览器识别码
- ul li{} 和 ul>li{} 样式的区别
- HTML-新建模板
- css 上 右 下 左 空心 箭头
- opacity 标签透明:div 连带内容都被设置?
- flex 弹性布局-div之间间距问题
- CSS3 标题-线动画-备注
- BootStrap 响应式布局
- node.js
- nodejs 本地方开发接口,配置
- node开发接口, 环境及配置,demo
- nodejs--express接收post请求参数;安装 body-parser依赖
- mysql
- Mysql 分页查询及动态传参;
- 主表和子表 一对多关系 如何查出主表信息和子表条数
- Mysql 常用命令
- Mysql 表数据联动及插入,表A数据PUSH到表B
- char(10) 和 varchar(10) 主要的区别是什么?
- Vue.js
- vue 组件快速模版
- vue 组件的显示隐藏,动画效果;
- Vue 组件之间的传值,路由传参
- VUE中演示v-for为什么要加key
- vue 项目中引入公共方法
- Vue v-for 循环数组、对象、数字时 参数的顺序
- vue 定时器常规操作及其停止
- vue常用知识点汇总
- Vue项目如何实现国际化?基于vue-i18n实现国际化经验
- vue-i18n进行多语言切换?input标签里面placeholder属性
- vue中使用base64和md5
- vue 生产环境部署打包时配置;页面不加载?字体不加载?
- vue-项目引入iview 主题定制-变量覆盖;问题及其bug
- PHP
- 用PHP写第一个接口
- PHP-JSON格式demo
- php 数组的循环、新加
- 微信小程序
- 微信小程序关于获取用户的openid的php后端代码
- 小程序列表循环、传参、显示、接收
- 常用链接
- 环境常用操作手册