1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <h1>结算程序</h1> 9 <p> 10 <input type="text" placeholder="原价" id="money" /> 11 </p> 12 <p> 13 <select id="level"> 14 <option value="0">普通顾客</option> 15 <option value="1">VIP会员</option> 16 <option value="2">金卡会员</option> 17 <option value="3">砖石会员</option> 18 </select> 19 </p> 20 <p> 21 <input type="button"id="btn" value="结算" /> 22 </p> 23 <p id="result"></p> 24 <script src="test_3es6.js" type="text/javascript" charset="utf-8"></script> 25 </body> 26 </html>
1 /* 2 //定义类 3 class Plane{ 4 constructor(speed) { 5 this.speed=speed;//变量放在构造器中 6 } 7 fly(){ 8 console.log("飞行速度"+this.speed); 9 } 10 } 11 var plane=new Plane(800); 12 plane.fly(); 13 //类继承 14 class FightPlane extends Plane{ 15 fly(){ 16 console.log("战斗机速度"+this.speed); 17 } 18 } 19 plane =new FightPlane(2000);//多态 20 plane.fly(); 21 */ 22 23 /* 24 *正常情况下普通顾客不享受打折优惠,VIP会员享受9.6折优惠,金卡会员享受9.2折优惠,砖石会员享受8.5折优惠。 25 * 双十一当天,普通顾客享受满200返50代金券; 26 * VIP会员享受9折优惠,购物满500,赠送100元餐券; 27 * 金卡会员享受8.5折优惠,购物满300元,赠送100元代金券; 28 * 砖石会员享受8折优惠,购物满200赠送100代金券。 29 */ 30 class Calculator { 31 handle(money, level) { //处理 32 if(level == 0) { 33 return money; 34 } else if(level == 1) { 35 return money * 0.96; 36 } else if(level == 2) { 37 return money * 0.92; 38 } else if(level == 3) { 39 return money * 0.85; 40 } else { 41 throw "会员等级错误"; 42 } 43 } 44 } 45 46 class DoubleElevenCalculator extends Calculator { 47 handle(money, level) { //处理 48 if(level == 0) { 49 var num = Math.floor(money / 200); 50 return `实际需支付${money}元,赠送${num}张50元代金券`; 51 } else if(level == 1) { 52 var num = Math.floor(money / 500); 53 return `实际需支付${money*0.9}元,赠送${num}张100元餐券` 54 } else if(level == 2) { 55 var num = Math.floor(money / 300); 56 return `实际需支付${money*0.85}元,赠送${num}张100元代金券`; 57 } else if(level == 3) { 58 var num = Math.floor(money / 200); 59 return `实际需支付${money*0.8}元,赠送${num}张100元代金券`; 60 } else { 61 throw "会员等级错误"; 62 } 63 } 64 65 } 66 67 var btn = document.querySelector("#btn"); 68 btn.addEventListener("click", function() { 69 //var calculator = new Calculator(); 70 var calculator = new DoubleElevenCalculator(); 71 var money = document.querySelector("#money").value; 72 money = new Number(money); 73 var level = document.querySelector("#level").value; 74 level = new Number(level); 75 var temp = calculator.handle(money, level); 76 document.querySelector("#result").innerHTML = temp; 77 });