Можно ли писать определение функции внутри 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, время: 08:08. |