javascript E5面向对象和 E6面向对象
时间:2018-12-15
本文章向大家介绍javascript E5面向对象和 E6面向对象,主要包括javascript E5面向对象和 E6面向对象相关应用实例、知识点总结和注意事项,具有一定的参考价值,需要的朋友可以参考一下。
javascript es6之前的面向对象方法:
一般使用构造函数来实现
function Person (name, age) { this.name = name; this.age = age; } // 实现静态属性, into属性就是静态属性 因为它是用Person直接 . 属性名的 Person.into = 'abc' // 然后new 一个实例出来 var p1 = new Person('李明', 22); console.log(p1) console.log(Person.into)
可以看到浏览器的控制台已经出来结果了;
只是一些简单的实例;
下面是通过ES6的class 类来创建
class Anything{ // ES6通过constructor()方法 ,构造器来实现 constructor(name, age){ // 实例属性 this.name = name; this.age = age; } // 静态属性通过 static 来创建静态属性; static into = 'compare' } const a1 = new Anything('car', 5); console.log(a1); console.log(Anything.into); export default Anything;
看看打印的结果
结果和上面用构造函数创建的是一样的;当然里面也可以写方法 function;
可用原型对象来创建:
Person.prototype.sayName = function(){
console.log('这是 Person函数的实例方法');
}
可以通过 p1.sayName(); 直接调用;
那么用class 创建的Anything 类 创建实例方法
直接在Anything 对象里面 和 构造器constructor 平级 直接写: 例如
someone(){
console.log('这是Anything的实例方法 ');
}
可以直接通过 a1.someon(); 调用;
// 总结
1、用构造函数本身 直接 点 ▪ 上的 属性或者 function() 函数 叫静态属性或方法; 一般不会这样做;
2、用构造函数加原型对象 点 ▪ 上的 function() 方法 是实例方法; 可以被调用
3、ES6 class 类 本身只是语法糖 ,只是和之前写法不一样
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 控制梦境
- 引号吃掉了我的数据~~~
- 每日一题 | 召唤兽问题
- WMI ——重写版
- LeetCode009|只出现一次的数字
- 丢弃掉那些 BeanUtils 工具类吧,MapStruct 是真香!!!
- 还在「黑盒炼丹」? 教你如何实现一行代码透视炼丹过程
- SpringCloud Alibaba微服务实战十九 - 集成RBAC授权
- 混合算法(GA+TS)求解作业车间调度问题(JSP)-禁忌搜索部分
- 打卡群刷题总结0810——从前序与中序遍历序列构造二叉树
- JavaScript性能优化
- Python+Excel+Word一秒制作百份合同
- SQL 订单揽收统计
- LeetCode11|搜索二维矩阵
- LeetCode14|合并排序的数组