Что происходит, если Вы используете <сценарий> тег с тем же атрибутом “src” многократно в рамках единственного документа HTML?

Это

var verificaHorario = $("#tbIntervalos").find("#" + horaInicial);

найдет Вас td, который должен быть заблокирован.

На самом деле это также сделает:

var verificaHorario = $("#" + horaInicial);

Тестирование на размер () обернутого набора ответит на Ваш вопрос относительно существования идентификатора.

17
задан Justin Holzer 7 October 2009 в 19:37
поделиться

4 ответа

Даже если они кэшированы, у вас могут возникнуть проблемы, поскольку один и тот же код будет выполняться дважды. По крайней мере, это приведет к тому, что браузеру потребуется больше времени, чем необходимо. И это может вызвать ошибки, поскольку большая часть кода JavaScript не написана для выполнения дважды. Например, он может подключать одни и те же обработчики событий дважды.

13
ответ дан 30 November 2019 в 14:17
поделиться

Не выводите теги сценария непосредственно в свои частичные файлы. Создайте механизм регистрации файлов сценариев для последующего включения. Этот механизм может отвечать за включение файлов только один раз.

2
ответ дан 30 November 2019 в 14:17
поделиться

Причина того, что width не кажется «липким», заключается в том, что определенные операции гарантированно вызывают .width (0) на выходе поток. Это:

21.3.7.9 [lib.string.io]:

template<class charT, class traits, class Allocator>
  basic_ostream<charT, traits>&
    operator<<(basic_ostream<charT, traits>& os,
               const basic_string<charT,traits,Allocator>& str);

22.2.2.2.2 [lib.facet.num.put.virtuals]: Все do_put перегрузки для num_put шаблон. Они используются перегрузками оператора << , принимающими basic_ostream и встроенный числовой тип.

22.2.6.2.2 [lib.locale.money.put.virtuals] : Все перегрузки do_put для шаблона money_put .

27.6.2.5.4 [lib.ostream.inserters.character]: Перегрузки оператора << принимает basic_ostream и один из типов char для экземпляра basic_ostream или char , подписанный char или unsigned char или указатели. в массивы этих типов char.

Честно говоря, я не уверен в обосновании этого, но никакие другие состояния ostream не должны сбрасываться функциями форматированного вывода. Конечно, такие вещи, как badbit и failbit , могут быть установлены в случае сбоя в операции вывода, но этого следовало ожидать.

Единственная причина, которую я могу придумать. для сброса ширины может быть удивительно, если при попытке вывести некоторые поля с разделителями ваши разделители были дополнены.

Например

std::cout << std::setw(6) << 4.5 << '|' << 3.6 << '\n';

"   4.5     |   3.6      \n"

Чтобы «исправить» это потребует:

std::cout << std::setw(6) << 4.5 << std::setw(0) << '|' << std::setw(6) << 3.6 << std::setw(0) << '\n';

тогда как при сбросе ширины,

0
ответ дан 30 November 2019 в 14:17
поделиться

Что происходит, так это то, что JavaScript загружается в интерпретатор в момент его загрузки. В случае коллизии пространства имен только имя переменной данной области остается в силе. Обычно этот последний единственный процесс предотвращает возникновение проблем из-за перезаписи функций, загруженных ранее в интерпретатор. Проблема в том, что функция определяет область видимости переменных, причем эти переменные могут быть другими функциями, которые вводят другие области пространства имен переменных. Это проблема, потому что если функции имеют одно и то же значение имени и включают разные определения переменных, тогда может произойти утечка, когда переменные из потока функции в интерпретатор рано сохранятся даже после перезаписи этой функции, что затем может вызвать ожидаемые конфликты пространств имен.

Если один и тот же файл включен дважды, проблем не должно быть. Проблема возникает, когда включены разные версии одного и того же файла или разные файлы с одинаковыми именами функций. Включение одного и того же файла дважды может означать многократную передачу, что приводит к потере полосы пропускания.

0
ответ дан 30 November 2019 в 14:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: