Мне нужно иметь возможность определить, когда создается объект (не элемент DOM - объект javascript).
Ответ на этот вопрос содержит очень полезный код для создания наблюдаемых свойств, поэтому вы можете вызвать срабатывание функции при изменении свойства.
В моей ситуации мне нужно что-то делать, когда объект / свойство создано, а существующее свойство не изменилось, и мое ограниченное понимание таких вопросов не помогло мне понять, могу ли я использовать этот код для выполнения этого после или как сильно щурясь.
Ситуация такова: страница загружает кучу скриптов. Некоторые из сценариев создают вещи, которые нужны другим сценариям, например:
ThisStuff = (function () {
// blah blah
return self;
} ());
Некоторый другой код должен инициализировать этот ThisStuff
, когда он доступен, что может быть после завершения загрузки DOM. Пользователю на самом деле не нужен ThisStuff
сразу, так что это нормально, когда скрипт завершает загрузку. Поэтому я хотел бы сделать что-то вроде:
$(document).ready(function() {
wheneverIsAvailable(window,'ThisStuff', function(object) {
object.init(args);
})
});
Я понимаю, что есть другие решения этой проблемы (изменение порядка сценариев или загрузка сценариев по требованию), но они сложны из-за архитектуры. Так что меня интересует только способ сделать это по сравнению с другими решениями. Если jQuery предлагает какую-то такую функциональность, это нормально, так как я использую ее.