свойство location.href по сравнению с location.assign () метод

Есть ли какое-то конкретное преимущество/недостаток в потреблении памяти JavaScript между использованием location.href = url в противоположность location.assign(url)?

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

62
задан 13 January 2016 в 23:41

2 ответа

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

я пошел бы с window.location.assign(), если Вы более обеспокоены тестированием. Используя функцию позволяет, Вы для насмешки сказали, что функция и проверяет входные параметры URL.

Так, с помощью шутки:

window.location.assign = jest.fn();

myUrlUpdateFunction();

expect(window.location.assign).toBeCalledWith('http://my.url');

// Clean up :)
window.location.assign.mockRestore();
15
ответ дан 31 October 2019 в 14:19

там какое-либо конкретное преимущество/недостаток в потреблении памяти JavaScript между использованием location.href = URL в противоположность location.assign (URL)?

НИКАКОЙ

существует точно нулевое различие.

причина этого проста. Каждый раз, когда Ваш браузер загружает новую страницу, он запускает свежий новый JavaScript 'VM' со сценариев для той страницы, работающей в этом VM. При выполнении любого из операторов в вопросе Вы даете браузеру команду загружать новую страницу, что означает уничтожать текущий VM (и освобождать любую память, связанную с ним) и загружать абсолютно новый VM для новой страницы.

Сохраняют для любых странных ошибок браузера, результирующий эффект всегда является тем же. Ваши сценарии работают в совершенно новом VM с тем же самым потреблением памяти.

ulocation

, Если Вы работаете с объектом местоположения в браузере и Вы хотите смочь выполнить этот код Узла JS (например, для тестирования или для изометрического кода), можно использовать ulocation, универсальная/изометрическая реализация объекта Местоположения. Полное раскрытие: Я - автор того пакета.

5
ответ дан 31 October 2019 в 14:19

Другие вопросы по тегам:

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