Итак, используя Pagespeed в FF, я смог найти некоторые области о том, как уменьшить мою страницу время загрузки.
В одном из разделов упоминается использование тега META "expires", и в нем перечислены все мои файлы CSS и JS, а также файлы IMG.
Теперь, если я просто добавлю этот тег в домашнюю страницу index.asp моего сайта, скажем, 1 год. Применяется ли это ко всем элементам, загружаемым с домашней страницы?
Google рекомендует использовать " {c: 3, d: 4} И хотите получить {a: 1, b: 2, c: 3, d: 4} Насколько я знаю, вам нужно выполнить итерацию ...
Объект Javascript не соответствует у меня нет родной операции слияния. Если у вас есть два объекта, скажем
{a:1, b:2}
{c:3, d:4}
и вы хотите получить
{a:1, b:2, c:3, d:4}
Насколько я знаю, вам нужно перебирать объекты. То есть вы выбираете стратегию слияния слева или слияния справа, а затем делаете что-то вроде (упрощенно)
for (key in object2) {
object1[key] = object2[key];
}
Это нормально. Однако в Javascript есть функция вызова
и прототипа
. Например, преобразование аргументов
в массив
может быть выполнено с помощью
Array.prototype.slice.call (arguments)
. Этот подход использует существующий собственный код, и поэтому менее восприимчив к глупости программиста и должен работать быстрее, чем неродная реализация.
Есть ли уловка для использования этого прототипа / шаблона вызова, возможно, в функциях обхода атрибута
или узла
модели DOM, или, возможно, в некоторых общих Строковые
функции для слияния собственных объектов?
Код будет выглядеть примерно так:
var merged = somethingrandom.obscuremethod.call (object1, object2)
И в результате вы получите собственное слияние без обхода.
Если бы вы могли использовать свойство конструктора
объекта
, а затем заставить один объект иметь конструктор другого объекта, а затем запустить новый
над составным объектом, вы можете получить слияние бесплатно. Но я не У меня есть четкое представление обо всех возможностях конструктора
в javascript для выполнения этого вызова.
Тот же вопрос верен для массивов
. Обычная проблема - взять, скажем, 7 массивов чисел, а затем попытаться найти пересечение этих массивов. То есть, какие числа существуют во всех 7 массивах.
Вы могли бы объединить их вместе, затем выполнить сортировку, а затем, конечно же, выполнить обход. Но было бы неплохо, если бы где-то спрятано общее пересечение, к которому мы можем принудительно заставить массив делать нативно.
Есть какие-нибудь мысли?
редактировать:
Для проблемы с массивом, вы можете сделать следующее:
array.concat (a, b, c) .sort (). join (':'), а затем использовать несколько хитрых RegExp
захвата и повторения шаблонов для обхода . Реализации RegExp, если вы не знаете, работают на очень простой виртуальной машине на основе стека. Когда вы инициализируете свое регулярное выражение, это действительно программа, которая компилируется (RegExp.compile - устаревший метод JS). Затем туземец невероятно быстро пробегает по струне. Возможно, вы могли бы использовать это для определения пороговых значений членства и повышения производительности ...
Но это еще не все.