Рекомендации по декларированию функций внутри функции jquery ready
Я не нашел хорошую ссылку для объявления своих собственных функций внутри
jquery.ready(function(){});
Я хочу объявить их, чтобы они находились в одном и том же объеме готового закрытия. Я не хочу загромождать глобальное пространство имен js, поэтому я не хочу, чтобы они объявлялись вне готового закрытия, потому что они будут специфичны только для кода внутри.
Итак, как объявить такую функцию... и я не имею в виду пользовательский метод/функцию расширения jquery... просто регулярная функция ol, которая делает что-то тривиальное, например:
function multiple( a, b ){
return a * b;
}
Я хочу следить за рекомендацией jquery и синтаксисом объявления функции. Я могу заставить его работать, просто объявив функцию, как умножить одну выше... но по какой-то причине она не выглядит корректной, поэтому я думаю, мне просто нужно руководство.
Ответы
Ответ 1
Я считаю, что вам будет хорошо объявить функцию внутри закрытия ready(), но здесь вы можете быть более явным в области локального охвата:
jQuery.ready(function() {
var myFunc = function() {
// do some stuff here
};
myFunc();
});
Ответ 2
Это может показаться простым, но вы просто... объявите функцию. Javascript позволяет функциям иметь внутренние функции.
$(document).ready( function() {
alert("hello! document is ready!");
function multiply(a, b) {
return a * b;
}
alert("3 times 5 is " + multiply(3, 5));
});
Ответ 3
У меня есть функция StartUp, и я использую ее как напечатанный ниже:
function StartUp(runnable)
{
$(document).ready(runnable.run);
}
var ExternalLinks =
{
run: function()
{
$('a[rel="external"]').bind('click', ExternalLinks.click);
},
click: function(event)
{
open(this.href);
return false;
}
}
StartUp(ExternalLinks);
var ConfirmLinks =
{
run: function()
{
$('a.confirm').bind('click', ConfirmLinks.click);
},
click: function(event)
{
if (!confirm(this.title)) {
return false;
}
}
}
StartUp(ConfirmLinks);
Мои веб-сайты являются модульными, поэтому каждый модуль имеет N действий, и каждое действие может иметь .js файл, поэтому я просто пишу функцию и вызываю ее с помощью StartUp (... functionName...)