Где я могу разместить метатег viewport в jsfiddle

Объяснение

Итак, во-первых, ваши две строки кода создают функцию obj и назначают ее прототипу {x: 5}.

Когда вы создаете экземпляр этого объект, он, по-видимому, имеет внутреннюю ссылку на прототип, который существовал, когда он был new 'd.

. После этого вы переназначите прототип на {y: 6}, который не влияет на внутренний instance1 ссылка на первый прототип.

Затем, когда вы создаете instance2, он имеет внутреннюю ссылку на 2-й прототип, и поэтому запись в них приведет к 5, undefined, undefined, 6.

# 4

Вы могли бы вместо переназначения прототипа новому объекту:

obj.prototype = {y: 6};

Изменить вместо этого прототип:

delete obj.prototype.x; // Setting to undefined should produce same behaviour
obj.prototype.y = 6;

Это приведет к выходу: undefined, 6, undefined, 6

Я тестировал это с помощью http://jsfiddle.net/9j3260gp/ в последних версиях Chrome и Firefox в Windows.

13
задан Evgenii 5 June 2013 в 11:28
поделиться