То-есть он инкрементирует указатель, а уж потом разыменовывает указатель, который был инкрементирован? Получается оператор инкремента имеет больший приоритет?
@animhotep нужно внутри блока table-cell у которого vertical-align: middle отпозиционировать блок по 0x0 относительно table-cell блока, что возможным не представляется. Добавил пример что получается при использовании relative-враппера внутри table-cell.
То-есть вебкиты и опера прут против ветра? Проблема в том, что табличные блоки используются для вертикального выравнивания, а позиционироваться в центрированном враппере будет именно относительно враппере, сохраняя отступ центрирорования, то-есть нельзя к верху табличного элемента что-то отпозиционировать.
@Anonym действительно, @rock дело говорит, т.к. для всех объектов конкретного конструктора будет один прототип. И данный способ удовлетворяет цель:
a instanceof A // => true
a instanceof B // => false
a instanceof Error // => true
Способ с this.constructor = Constructor; может и оптимальней, но в таком случае будет:
a instanceof A // => true
a instanceof B // => false
a instanceof Error // => FALSE!
То-есть и не совсем наследование получается.
Благодарю, нагуглил, решил следующим образом:
...
function inherit(proto) {
if (Object.create) return Object.create(proto);
function F() {}
F.prototype = proto;
return new F();
}
for (var key in object.exceptions) {
object.exceptions[key].prototype = inherit(Error.prototype);
}
Использование прототипа через Object.create(Error.prototype) — то, что надо, только есть ли решение для IE8, а то, Object.create только начиная с 9-ого.
Интересует решение попроще, чем вручную искать какие таблицы добавились, а какие ушли в /dev/null. Из того, что пришло в голову, — вести историю изменений каким-нибудь скриптом, и модифицировать дамп базы.