Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.02.2011, 00:02
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Почему jQuery является одновременно функцией и объектом?
Сабж.
Например, можно сделать так:
jQuery(string || jQuery || node) //функция
А можно сделать так:
jQuery.isArray(var) //объект

Как повторить подобный эффект?
Ответить с цитированием
  #2 (permalink)  
Старый 14.02.2011, 00:28
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,233

читайте основы.
практически все в JavaScript(кроме примтивных объектов) является объектами.
var a = function(){alert('qwe')};// кажется функция
a.q=5;// фиг там, уже объект
a();
alert(a.q)
Ответить с цитированием
  #3 (permalink)  
Старый 14.02.2011, 01:29
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Основы читал, но этого момента не встречал. Странная логика. Почему же тогда:
var a = {};
a.q=5;
a = function(){alert('budubudu')};
a();
alert(a.q))
a.q == undefined?

Можно ссылку на статью, описывающую поведение кода, приведенного тобой выше?
Ответить с цитированием
  #4 (permalink)  
Старый 14.02.2011, 01:44
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,233

Сообщение от FINoM
Можно ссылку на статью, описывающую поведение кода, приведенного тобой выше?
это самые основы, и вы допускаете весьма глупые ошибки
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
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает на jQuery 1.4.4? pro10026 jQuery 13 06.03.2014 08:22
jQuery treeview одновременно persist:"cookie" и persist:"location" kedovan jQuery 4 13.02.2011 12:53
Почему jQuery плагины? a.vovchuk jQuery 9 04.01.2011 18:03