7. You Deserved It!


#1

function StaffMember(name,discountPercent)                  {
this.name = name; this.discountPercent = discountPercent;   }
    var sally = new StaffMember("Sally",5);
    var bob = new StaffMember("Bob",10);
    var me = new StaffMember("rico", 20);

var cashRegister = {
    total:0,    lastTransactionAmount: 0,

add: function(itemCost)                     {
this.total += (itemCost || 0);
this.lastTransactionAmount = itemCost;      },

    scan: function(item,quantity){

    switch (item)                                       {
    case "eggs": this.add(0.98 * quantity); break;
    case "milk": this.add(1.23 * quantity); break;
    case "magazine": this.add(4.99 * quantity); break;
    case "chocolate": this.add(0.45 * quantity); break; }
    return true;
    },
    
voidLastTransaction : function()            {
this.total -= this.lastTransactionAmount;
this.lastTransactionAmount = 0;             },

    // Create a new method applyStaffDiscount here
    applyStaffDiscount: function(employee){
    var totalB = cashRegister.total.toFixed(2);
    // The last one total after three products'scan
    var discount = employee.discountPercent / 100; 
    // discount'propriety from me'object
    console.log(this.total -= totalB * discount);
    }
};

cashRegister.scan('eggs',1);
cashRegister.scan('milk',1);
cashRegister.scan('magazine',3);

cashRegister.applyStaffDiscount(me);

console.log('Your bill is '+cashRegister.total.toFixed(2));

#2

This code passed for me when I ran it through the exercise?

Are you getting an error message?


#3

You need a space between the '+' and the 'cashRegister.total'. As it is it's probably an error in the console to pass two arguments not separated by a comma, which is what this looks like to the interpreter.


#4

Majorly impressed with this smart suggestion.


#5

no one. what is happning?


#6

By prepending any variable with a '+' you are trying to coerce the value to a number. Thus the space between the '+' and the variable is important if you want to perform interpolation.


#7

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.