Показать сообщение отдельно
  #7 (permalink)  
Старый 13.07.2013, 18:46
Новичок на форуме
Отправить личное сообщение для krantadan Посмотреть профиль Найти все сообщения от krantadan
 
Регистрация: 13.07.2013
Сообщений: 5

Сообщение от nerv_
и при этом эти "элементарные типы" имеют методы и свойства
мм... ну да, при обращении к полям переменной элементарного типа, она неявным образом подменяется соответствующим объектом. Но при сложении обращения к полям нет. Даже если в вашем коде случается вызов конструктора, пара десятков копирований по ссылке замедляют работу конструктора незначительно.

В вашем 1-м варианте вы предварительно сохраняете ссылку на метод в свойство конструктора. Я сохраняю в независимую переменную. Куда бы мы её не сохраняли - принцип один и он не имеет отношения к теме наследований.
А во 2-м предложенном варианте вы создадите объект другой структуры:
{ // A
    __proto__: { // B
        a: function () {},
        b: function () {},
        __proto__: { // C
            c: function () {}
        }
    }
}

Что-то я тут расфлудился) Надеюсь, я никого не утомил своими изысканиями.
Ответить с цитированием