Я пишу виджет пользовательского интерфейса JQuery, который инкапсулирует Google Map v3, специально разработанный для моего большого веб-приложения. В этом виджете есть пара google.maps.*
объектов, которые создаются (и назначаются некоторым this.variable
), таким как объект Map, Marker, LatLng и т. Д.
Виджет может создаваться и уничтожаться много раз на одной и той же странице из-за характера веб-приложения, поэтому представляется целесообразным позаботиться о destroy()
, чтобы очистить содержимое от экземпляра, который скоро будет удален .
Итак, вопрос в том, нужно ли мне конкретно delete
google.maps.*
объекты из метода destroy()
, или они просто превращаются в осиротевшие и в конечном итоге собирают мусор движком по мере его продвижения?
Или, возможно, в более широком смысле в любом коде Javascript (jQuery или нет), нужно ли сделать delete
перед повторным присвоением переменной другому экземпляру new someObject()
? Или двигатель автоматически соберет мусор?