Я думаю, вы задаетесь вопросом о функции ready
. Чтобы понять, как это работает, вы должны знать, что при загрузке HTML-страницы в ваш браузер структура HTML превращается в дерево javascript под названием «DOM» (Document Object Model). В вашем примере DOM ссылается на переменную с именем document
. Чтобы заполнить это дерево, каждая разметка должна быть инициализирована как объект javascript. Когда это задание выполняется, событие «ready» создается, вызывая каждую функцию, связанную с ним. Подводя итог:
$(document).ready(function() { testingFunc.init(); });
// translation : Once the DOM has been initialized, call "init".
Что касается коды, $('#object')
попытки запроса дерева DOM, чтобы найти узел с идентификатором, установленный на «объект» (например, <div id="object">
). Однако документ, вероятно, еще не полностью инициализирован. В результате этот запрос может завершиться неудачно. Чтобы избежать этого риска вы скорее должны сделать это:
var testingFunc = {
$object: null,
init: function() {
this.$object = $('#object');
console.log(this.$object);
}
}
Вы можете думать о DOM как структура папок, где каждая папка и файл представляет собой HTML-разметка. jQuery просматривает дерево DOM так же, как вы просматриваете свой проводник файлов.
Это не образец , нет имени для этого. Это обычный код. Вы создали объект и вызывают метод объекта в DOM. Хотя для того, чтобы ваш код работал, он должен работать на DOM в любом случае (потому что вы пытаетесь получить ссылку на '$ ('# object')'), поэтому используйте '$ (document) .ready (function () {'не нужно. –
Ярлык для' $ (document) .ready (function() {testingFunc.init();}); '=>' $ (testingFunc.init); ' – rexcfnghk
@FelixKling Посмотрите на мой ответ – plalx