JavaScript进阶设计模式系列——基础篇——闭包(4)--闭包和面向对象的设计

xiaoxiao2021-02-28  8

引言:

在面向对象的世界中,过程和数据是一个经常被使用的表达方式。对象,通过方法的形式包含着过程,而闭包则是在过程中以环境的形式包含了数据,因此,只要是用面向对象思想实现的东西,基本上用闭包的思想也能实现。下面,咱们看一则实例,分别使用面向对象形式来实现的写法和使用闭包形式的写法。

面向对象的写法

传统写法之一:

var cat = { name : 'mimi', shut : function(){ console.log(name + '喵喵!'); } } cat.shut(); cat.shut(); cat.shut();

传统写法二:

var cat = function () { this.name = 'mimi'; } cat.prototype.shut = function () { console.log(name + '喵喵!'); } var Cat = new cat(); Cat.shut(); Cat.shut(); Cat.shut();

闭包的写法

var cat = function () { this.name = 'mimi'; return { shut : function () { console.log(name + '喵喵!'); } } }; var cat2 = cat(); cat2.shut(); cat2.shut(); cat2.shut();
转载请注明原文地址: https://www.6miu.com/read-750330.html

最新回复(0)