наткнулся на некоторые шутки в твиттере о том, как ужасно использовать
javascript:history.go(-1)
, конечно, без каких-либо намеков на то, почему.
Если это так ужасно, почему? Какая альтернатива? (кроме history.back (), который, кажется, делает то же самое). Это вопрос кроссбраузерной совместимости?
Например, я видел, как он использовался на странице с ошибкой, чтобы пользователи могли попытаться «вернуться» с помощью указанное выше.
Я пробовал использовать Google, но безрезультатно, почему это было бы так ужасно использовать. Любые указатели / объяснения были бы признательны.
Спасибо. Тип byte, sbyte, short, ushort, int, uint, char, float, bool, ...
Из спецификации 10.5.3 Volatile fields:
Тип изменчивого поля должен быть одним из следующих:
Тип ссылки.
Тип byte, sbyte, short, ushort int, uint, char, float, bool, System.IntPtr или System.UIntPtr.
Тип перечисления, имеющий базовый тип перечисления. байта, sbyte, short, ushort, int, или uint.
Во-первых, я хочу подтвердить, что я правильно понял: я предполагаю, что указанные выше типы могут быть энергозависимыми, поскольку они хранятся в памяти как 4-байтовый блок (для ссылочных типов из-за его адреса), что гарантирует чтение Операция / запись является атомарной. Типы double / long / etc не могут быть изменчивыми, потому что они не являются атомарными для чтения / записи, поскольку они занимают более 4 байтов в памяти. Правильно ли я понимаю?
И второе, если первое предположение верно, почему определенная пользователем структура только с одним полем int
в ней (или что-то подобное, 4 байта в порядке) не может быть нестабильным? Теоретически это атомарно, верно? Или это ' s не разрешены просто потому, что все определяемые пользователем структуры (которые, возможно, имеют размер более 4 байтов) не могут быть энергозависимыми по дизайну ?