Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Общий вопрос по Objects (https://javascript.ru/forum/misc/30333-obshhijj-vopros-po-objects.html)

PashPP 31.07.2012 23:40

Общий вопрос по Objects
 
Доброго времени суток.
Я новичек в программировании вообще и не понимаю зачем и когда рационально использовать объекты вместо обычных функций.
Если можно, то поясните с примерами.
Спасибо.

melky 31.07.2012 23:48

Цитата:

Сообщение от PashPP (Сообщение 193428)
Доброго времени суток.
Я новичек в программировании вообще и не понимаю зачем и когда рационально использовать объекты вместо обычных функций.
Если можно, то поясните с примерами.
Спасибо.

функции в JS - это вызываемые объекты.



надеюсь, я взорвал Ваш мозг, спасибо за внимание.

PashPP 31.07.2012 23:53

melky,
Да знал я это.
Имелись ввиду консрукции типа
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;
    }
}

Зачем функции загонять в обьект cashRegister и потом дописывать еще лишнее cashRegister. перед вызовом?

melky 31.07.2012 23:55

Цитата:

Сообщение от PashPP
Зачем функции загонять в обьект cashRegister

это такие функции называются методами.

Цитата:

Сообщение от PashPP
и потом дописывать еще лишнее cashRegister. перед вызовом?

а это называется декорирование.

если не понимаете, забейте :) время ещё не пришло. я тоже сначала не понимал, зачем нужно декорирование, в практике.

но, оказывается, оно ограничивается не только дописыванием , но и разными штуками, типа каррирования.


Часовой пояс GMT +3, время: 21:37.