Показать сообщение отдельно
  #34 (permalink)  
Старый 05.09.2011, 10:59
Аватар для kadabrik
Кандидат Javascript-наук
Отправить личное сообщение для kadabrik Посмотреть профиль Найти все сообщения от kadabrik
 
Регистрация: 10.12.2010
Сообщений: 114

Сообщение от yambbkru Посмотреть сообщение
А можно еще спросить? Вот есть такие 2 функции:
function a() {
  var t = {
    c : "1"
  }
  return t
}

function b() {
  var t = {
    d : "2"
  }
  return t
}

var A = a();
var B = b();
alert(A.c + B.d)

В результате выдает сообщение "12". Как мне сделать, что бы все объекты, создаваемые функцией b() имели своим прототипом объект, создаваемый функцией а()?
Если есть серьезное желание изучить javascript то не помешало бы изучить стиль написания кода на нем. Название объектов-прототипов должны начинаться с большой буквы, а все объекты которые строятся от них с маленькой, как и любые переменные.

Сообщение от yambbkru Посмотреть сообщение
А зачем там new? а() и b() - это функции, которые возвращают объекты. Это не конструкторы, я так понимаю. Объект создается внутри этих функций. Мне действительно не нужен лишний объект а!!! Я пока вижу только один способ наследования: копирование всех свойств из а() в b(). Но мне это не совсем нравится, поскольку лишнее время затрачивается на это копирование. Хотелось бы через прототип.
Я уже подсказывал ссылкой на статью в этой ветке один из способов наследования, и оно реализуется через прототип.
Ответить с цитированием