首页 > 其他 > 详细

策略模式

时间:2021-04-26 10:34:39      阅读:43      评论:0      收藏:0      [点我收藏+]

  

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        const price=(function(){
            const tactics={
                100-10:function(price){return price-parseInt(price/100)*10},
                200-20:function(price){return price-Math.floor(price/200)*20},
                80%:function(price){return price*0.8}
            }
            function calculate(price,tactic){
                if(!tactics[tactic]) return tactic not found
                return tactics[tactic](price)
            }

            calculate.add=function(tactic,action){
                if(tactics[tactic]){
                    if(confirm(`replace ${tactic}`)){
                        tactics[tactic]=action
                    }
                }
                tactics[tactic]=action
            }
            calculate.remove=(tactic)=>{
                if(!tactics[tactic]) return tactic not found
                delete tactics[tactic]
            }
            return calculate
        })()

        console.log(price(320,100-10))
    </script>
</body>
</html>

 

策略模式

原文:https://www.cnblogs.com/dissipate/p/14702993.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!