Показать сообщение отдельно
  #20 (permalink)  
Старый 26.10.2012, 22:18
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от 12345c
В результате получим 2 различных типа наследования.
Сравним классическое наследование:

var A = {};
var B = Object.create(A);
A.property = 1;

alert(B.property); // 1


А вот это уже сложно назвать наследованием:

var extend = function(A, B) {
   var __own__ = Object.prototype.hasOwnProperty;

   for (var i in B)
      __own__.call(B, i) &&  (A[i] = B[i]);
};

var A = {};

var B = {
   foo: 1
};

extend(A, B);

B.bar = 1;

alert([
   A.foo,
   A.bar
]); // 1, undefined
Ответить с цитированием