[JS-OOP] 封装

ES5实现一个类的方式是使用函数,以及函数的3个内部对象:this、prototype、new.target,如:

实例成员定义在构造函数内部,是每个实例各自维护的内容,格式为:

this.a = 1;
this.fn = function(){}

原型成员定义在原型上,是每个实例共享的内容,格式为:

Fn.prototype.b = 2;
Fn.prototype.fn1 = function() {};

用这种方法定义一个类未免会让代码显得过于零散,好在ES6给我们提供了一套class语法糖。

class Animal {
	constructor(name, age) {
		// 实例成员
		this.name = name;
		this.age = age;
		this.say = () => console.log(`name: ${name}, age: ${age}`);
	}

	// 原型方法
	toString() {
		return `name: ${name}, age: ${age}`;
	}
}
// 原型变量
Animal.weight = 1000;
Animal.prototype.height = 120;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值