JavaScript : Что такое свойство Expando?

Я столкнулся с этим свойством, читая об утечках памяти в JavaScript. Мне сообщили, что это свойство поддерживается только в Internet Explorer и отвечает за циклическую ссылку.

Я попытался проверить и обнаружил, что это свойство недоступно ни в одном из браузеров. Кто-нибудь может предложить какое-либо понимание этого свойства и как оно связано с утечками памяти?

13
задан abbotto 7 April 2015 в 20:27
поделиться

2 ответа

Думаю, вы имеете в виду expando Property... с пробелом, относящееся к expando свойству объектов. Оно:

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

3
ответ дан 1 December 2019 в 22:37
поделиться

Проще говоря, свойство expando - это свойство, которое изначально не существует. В Internet Explorer, если вы создаете такое свойство для элемента DOM, вы можете столкнуться с утечкой памяти. Вот пример:

var div = document.getElementsByTagName('div')[0];
div.someProperty = true; // 'someProperty' is an expando property which may introduce a memory leak in IE

Дополнительную информацию можно найти в Понимание и устранение шаблонов утечек Internet Explorer

6
ответ дан 1 December 2019 в 22:37
поделиться
Другие вопросы по тегам:

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