Short Term Memory


#1

Hi, my code works fine. But I'm confused with this exercise. I can see that I added the Add function and there was already a scan function which is fine. But how does the Add function get called in this exercise as we only call the scan function at the end? How does it add the items without calling the add function?

var cashRegister = {
total: 0,
//insert the add method here

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

scan: function (item) {
    switch (item) { 
    case "eggs": 
        this.add(0.98); 
        break;

    case "milk": 
        this.add(1.23); 
        break;

    //Add other 2 items here
    case "magazine" :
        this.add(4.99);
        break;

        case "chocolate":
            this.add(0.45);
            break;

    }
    return true;
}

};

//Scan 2 eggs and 3 magazines
cashRegister.scan("eggs")
cashRegister.scan("eggs")
cashRegister.scan("magazine")
cashRegister.scan("magazine")
cashRegister.scan("magazine")
//Show the total bill
console.log('Your bill is '+cashRegister.total);


#2

It's okay, I forgot it called "this.add so does call the add function. blame it on the lack of sleep:smile:


#3

@paman21,
Via

cashRegister.scan("eggs")

you are entering the scan Method
which has several case-clauses
one being "eggs"
and here the add-Method is called

 this.add(0,98);