Поиск…


Недостаток создания истинного частного метода

Один из недостатков создания частного метода в Javascript неэффективен для памяти, потому что копия частного метода будет создаваться каждый раз при создании нового экземпляра. См. Этот простой пример.

function contact(first, last) {
    this.firstName = first;
    this.lastName = last;
    this.mobile;

    // private method
    var formatPhoneNumber = function(number) {
        // format phone number based on input
    };

    // public method
    this.setMobileNumber = function(number) {
        this.mobile = formatPhoneNumber(number);
    };
}

Когда вы создаете несколько экземпляров, все они имеют копию метода formatPhoneNumber

var rob = new contact('Rob', 'Sanderson');
var don = new contact('Donald', 'Trump');
var andy = new contact('Andy', 'Whitehall');

Таким образом, было бы здорово избежать использования частного метода, только если это необходимо.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow