html5: заголовки в элементах секционирования - схема документа и последствия для SEO

В спецификации html5 говорится , что:

Схема для элемента содержимого или корневого элемента разделения состоит из списка из одного или нескольких потенциально вложенных разделов . Раздел - это контейнер, который соответствует некоторым узлам в исходном дереве DOM. Каждый раздел может иметь один связанный с ним заголовок и может содержать любое количество дополнительных вложенных разделов. Алгоритм схемы также связывает каждый узел в дереве DOM с определенным разделом и, возможно, с заголовком.

f() + g()

Если f () и g () оба имеют побочные эффекты для некоторого общего объекта, то поведение undefined не указано, потому что порядок выполнения неизвестен . f () может оцениваться до g () или наоборот.

Теперь мне было интересно, что происходит, когда вы связываете функции-члены с объектом. Допустим, у меня есть экземпляр класса, экземпляр с именем obj , и у него есть две функции-члены, foo () и bar () , которые изменяют объект. Порядок выполнения этих функций не коммутативен. Эффект от вызова одного перед другим не такой же, как от вызова их наоборот. Оба метода возвращают ссылку на * this , чтобы их можно было связать следующим образом:

obj.foo().bar()

Но является ли это неопределенным поведением? Я не могу найти ничего в стандарте (правда, просто просматривая), что отличало бы это выражение от выражения, которое я дал в верхней части сообщения. Оба вызова функций являются подвыражениями полного выражения, поэтому порядок их выполнения не определен. Но, безусловно, foo () должен быть сначала оценен , чтобы bar () знал, какой объект изменить.

Возможно, я упустил что-то очевидное, но я могу » не посмотреть, где создается точка последовательности.

12
задан Lightness Races with Monica 22 December 2011 в 11:37
поделиться