7. You Deserved It!


I have no clue what's happening again...help!


Oops, try again. It looks like you have an error in your code! Check the error message for more details: ReferenceError: applyStaffDiscount is not defined

function StaffMember(name,discountPercent){
    this.name = name;
    this.discountPercent = discountPercent;

var sally = new StaffMember("Sally",5);
var bob = new StaffMember("Bob",10);

// Create yourself again as 'me' with a staff discount of 20%
var me = new StaffMember("Nikhil",20);

var cashRegister = {
    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) {
    this.total -= this.total * (employee.discountPercent / 100)}

// Apply your staff discount by passing the 'me' object 
// to applyStaffDiscount

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


applyStaffDiscount is a method, part of the cashRegister object, agree? just like scan is a method of the cashRegister object, when you call scan:


you specify that the method is defined in the cashRegister object, why not do the same for applyStaffDiscount while they are both method of the cashRegister object?


Still kind of lost mate


you can't call a method, without defining the object the method belongs to.

applyStaffDiscount is also a method, you should do objectname.method() to call the method, the objectname is missing when you tr to call applyStaffDiscount


Well that was a bummer..lol Thanks Again! I thought i completely messed up somewhere.
Quick question could you explain what the method actually does?


Never mind I understand it now...Thanks Again though!


in programmin screwing up a bit is enough to get an error.

that depends what is in the method, you can write your ow methods. Methods is just the word used for a function which is part of an object


Yeah both good and bad. It still is exciting when you code and in the end everything works perfectly fine...!


yes, totally agree. The feeling that you made it work is really great :slight_smile: also great to hear you got your code to work :slight_smile:


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