Это зависит от того, как вы хотите охватить вещи. Если вы просто хотите, чтобы bar находился в глобальной области видимости, просто сделайте это:
$(document).ready( function(foo) {
var bar = function() { ... };
window.bar = bar;
});
Помните, что в JavaScript единственными блоками кода, имеющими область видимости, являются функции, поэтому переменные, объявленные в if{}
, while{}
и других типах блоков кода, являются глобальными для любой функции, частью которой они являются, если они не являются таковыми. объявлен.
Если вы используете переменную без ее объявления, это то же самое, что и:
// Both of these variables have global scope, assuming
// 'bar' was never declared anywhere above this
window.foo = "Hello World!";
bar = "Hello World!";
Таким образом, приведенный выше пример можно сократить на строку, выполнив:
$(document).ready( function(foo) {
window.bar = function() { ... };
});