Почему jQuery является одновременно функцией и объектом?
Сабж.
Например, можно сделать так: jQuery(string || jQuery || node) //функция А можно сделать так: jQuery.isArray(var) //объект Как повторить подобный эффект? |
читайте основы.
практически все в JavaScript(кроме примтивных объектов) является объектами. var a = function(){alert('qwe')};// кажется функция a.q=5;// фиг там, уже объект a(); alert(a.q) |
Основы читал, но этого момента не встречал. Странная логика. Почему же тогда:
var a = {}; a.q=5; a = function(){alert('budubudu')}; a(); alert(a.q))a.q == undefined? Можно ссылку на статью, описывающую поведение кода, приведенного тобой выше? |
Цитата:
var a = {};// переменной a назначен пустой объект a.q=5;// у этого объекта появилось свойство под именем q a = function(){alert('budubudu')};//и тут вы, резко в ту же переменную назначили функцию. //все, объекта больше не существует, да здраствует погибший он a();// вызываете функцию, которую назначили в последний раз в переменную. alert(a.q))// и тут резко, и не ожиданно вы хотите у функции a получить какое-то неизвестное свойство. //q умерло, вместе со своим объектом-владельцем // я уж не говорю о том, что вы допускаете ошибки в синтаксисе(но, я надеюсь, что это уже просто опечатка) Прежде чем задавать новые вопросы, прочтите хотя бы: http://javascript.ru/tutorial/object (весь цикл статей) http://javascript.ru/basic (особенно http://javascript.ru/basic/functions) http://javascript.ru/Object |
Часовой пояс GMT +3, время: 10:32. |