javascript E5面向对象和 E6面向对象
2024-10-20 20:42:31
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 类 本身只是语法糖 ,只是和之前写法不一样
最新文章
- 如何在select下拉列表中添加复选框?
- JS中修改属性
- ProcessOn
- PHP高效率写法
- nyoj 1058部分和问题(DFS)
- javabean+servlet+jsp程序_个人辛苦探索
- java把InputStram 转换为String
- SAE下的Memcache使用方法
- ENVISAT卫星及ASAR数据介绍
- Mybatis在oracle、mysql、db2、sql server的like模糊查询
- 【面向对象设计原则】之接口隔离原则(ISP)
- EC20 R2.1
- Nginx服务器 配置 https
- java 遇到的问题
- 【Python全栈-数据库】数据库基础
- C#基础知识回顾:2.使用DbProviderFactory实现多数据库访问
- Hadoop Yarn源码 - day1
- 读取 Excel 之 NPOI
- 128. Longest Consecutive Sequence最长连续序列
- 2018.07.17 牛奶模式Milk Patterns(二分+hash)
热门文章
- openwrt - squashfs-sysupgrade.bin 的生成过程
- Codeforces Round #422 (Div. 2) D. My pretty girl Noora 数学
- leetCode 116.Populating Next Right Pointers in Each Node (为节点填充右指针) 解题思路和方法
- mongodb的安装、配置、常见问题
- 微信的API都是通过https调用实现的,分为post方法调用和get方法调用。不需要上传数据的采用get方法(使用IntraWeb开发)
- ES6 中的let 声明变量
- ES6 解构赋值的常见用途,很强大
- html5--6-16 CSS3中的文字与字体
- 深入浅出Oracle学习笔记:Buffer Cache 和Shared pool
- POJ - 2417 Discrete Logging(Baby-Step Giant-Step)