开发项目过程中,有一个隐私功能,眼睛可点击,睁眼显示金额,闭眼显示星星星,如下图所示:
睁眼:
闭眼:
基于小伙伴已经开发好了,拿过来用呗。好奇心总是促使我去琢磨别人的代码,咦?如下:
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+'元' );
}
});
}
点击按钮眼睛时并没有执行任何函数啊,值咋来的,隐隐感觉这个就是我吃的不怎么透的“闭包”,内部函数可以使用外部函数的形参和局部变量,这样就能解释通了。
按照我的逻辑,得先把值存到一个地方,当再次点击显示值时再拿出来用,不过和这个闭包比起来显然逊色不少。
嗯,就先这样理解,待编码路途中慢慢咀嚼。
如有不恰当的地方,欢迎讨论