开发项目过程中,有一个隐私功能,眼睛可点击,睁眼显示金额,闭眼显示星星星,如下图所示:
睁眼:

闭眼:

基于小伙伴已经开发好了,拿过来用呗。好奇心总是促使我去琢磨别人的代码,咦?如下:
function isShowMoneyFn( data ){
$('.js_isLook').on('click',function(){
if( $(this).attr('data-status') === 'true' ){
$('.js_allMoney, .js_haveMoney').text( '****' );
}else{
$('.js_allMoney').text( data.totalRmb+'元' );
$('.js_haveMoney').text( data.currentMonthRmb+'元' );
}
});
}
点击按钮眼睛时并没有执行任何函数啊,值咋来的,隐隐感觉这个就是我吃的不怎么透的“闭包”,内部函数可以使用外部函数的形参和局部变量,这样就能解释通了。
按照我的逻辑,得先把值存到一个地方,当再次点击显示值时再拿出来用,不过和这个闭包比起来显然逊色不少。
嗯,就先这样理解,待编码路途中慢慢咀嚼。
如有不恰当的地方,欢迎讨论

本文探讨了一个隐私功能的实现方式,通过点击眼睛图标切换金额显示与隐藏,利用闭包特性优雅地解决了值存储与调用的问题,深入解析闭包在JavaScript中的应用。
128

被折叠的 条评论
为什么被折叠?



