Можно ли писать определение функции внутри document.ready()?
Привет специалисты, возник вопрос в споре с коллегой, он говорит что нельзя писать определение функции внутри documnet.ready() Ну что-то типа такого:
$(document).ready(function(){
function abc()
{
console.log("ABC");
}
});
Типа что не все браузеры увидят функцию которая внутри document.ready, ну в данном случае функцию abc. Что скажете? |
а что мешает ее сделать видимой?
$(document).ready(function(){
function abc()
{
console.log("ABC");
}
window.abc = abc;
});
|
Цитата:
|
я так внутри пишу
$(document).ready(function(){
var Fun = function(go)
{
console.log(go);
}
Fun('xyz');
});
|
$(document).ready(function(){
function abc()
{
console.log("ABC");
}
window.abc = abc;
});
Так увидит, правильно, я же совсем забыл про область видимости функции, но тут походу дело в том что надо создавать модули и глобальные точки входа к библиотекам общедоступных функций чтобы лишний раз не засорят глобальный объект. Я просто всегда объявлял функции в документ реди и там их и использовал и все гуд, но видимо мышление коллеги было таково что он хотел использовать функции определенные в документ реди везеде где только возможно как я понимаю, но мне кажется это не то решение что нужно. |
А ну да, можно же использовать свой глобальный объект, а не window у меня правильный ход мыслей?
|
Цитата:
var myObject = {}
$(document).ready(function(){
function abc()
{
console.log("ABC");
}
myObject.abc = abc;
});
|
Спасибо, в принципе со всем разобрался. Буду регулярно теперь тут общаться ;)
|
| Часовой пояс GMT +3, время: 21:15. |