【javascript设计模式】3.Revealing Module(揭示)模式

⭐️ 本文首发自 前端修罗场(点击加入),是一个由 资深开发者 独立运行 的专业技术社区,我专注 Web 技术、Web3、区块链、答疑解惑、面试辅导以及职业发展博主创作的 《前端面试复习笔记》(点击订阅),广受好评,已帮助多人提升实力、拿到 offer。现在订阅,私聊我即可获取一次免费的模拟面试机会,帮你评估知识点的掌握程度,获得更全面的学习指导意见!

该模式能够在私有范围内简单定义所有的函数和变量,并返回一个匿名对象, 它拥有指向私有函数的指针,该函数是他希望展示为公有的方法。

示例:

<script>
	var myRevealingModule = function () {
		var privateVar = "Ren Cherry",
			publicVar = "Hey there";
		function privateFunction() {
			console.log("Name:"+privateVar);
		}
		function publicSetName(strName) {
			privateName = strName;
		}
		function publicGetName() {
			privateFunction();
		}
		//将暴露的公有指针指向到私有函数和属性上
		return {
			setName: publicSetName,
			greeting: publicvar,
			getName: publicGetName
		};
	}();
	myRevealingModule.setName("Paul Kinlan");
</script>

优点:

  1. 该模式很容易之处哪些函数和变量可被公开访问,改善了可读性。
  2. 如果一个私有函数引用一个公有函数,在需要打补丁时,公有函数是不能被覆盖的。
    因为私有函数将继续引用私有实现,该模式并不适用于公有成员,只使用函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蟹蟹蟹风流

期望和你分享一杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值