Я пытаюсь понять разницу между следующими двумя наборами кода. Когда я использую определение плагина jquery, я могу получить доступ к плагину вне встроенной функции. Однако, если я попытаюсь просто установить некоторые объекты с одной и той же встроенной функцией, это не сработает.Почему мой объект недоступен в документе?
Это работает:
(function($) {
$.fn.test = function(message) {
return this.each(function() {
$(this).text(message);
});
}
}(jQuery));
$(document).ready(function() {
$('p').test('This works!');
});
не работает:
(function($) {
var neato={
start:function(){
$('p').html('We must have an issue of scope or similar, this does not work');
}
}
}(jQuery));
$(document).ready(neato.start);
Есть ли способ, чтобы сделать свой объект доступным за пределами закрытой функции самоуправления в этом случае?
'$ .fn = jQuery.prototype'. Другими словами, добавив свойство к '$ .fn', вы добавляете это свойство в прототип объекта jQuery. И объект jQuery возвращается из вызовов jQuery (например, '$ (document)'). – Stryner