Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2009, 18:32
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Object, Array или Node ?
Никто не знает сабж короткого и быстро определить? или вообще кто знает как определить? Вопрос к гуру? Возникла идея, хочу проверить имеет ли смысл. как определить? как решают?
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2009, 18:38
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

([]).constructor === Array // true
({}).constructor === Object // true


для Node можно воспользоваться каким-то свойством, например jQuery поступает просто:
if (el.nodeType) //element
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2009, 18:40
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Объект понятие растяжимое. Для Array
function isArray(obj) {
    return Object.prototype.toString.call(obj) == '[object Array]';
}
Ответить с цитированием
  #4 (permalink)  
Старый 18.12.2009, 18:57
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Kolyaj, а чем плох ([]).constructor === Array ? Можно пример, когда не совпадает?
Ответить с цитированием
  #5 (permalink)  
Старый 18.12.2009, 19:03
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от e1f
Можно пример, когда не совпадает?
Когда массив из другого окна/фрейма придёт.
Ответить с цитированием
  #6 (permalink)  
Старый 18.12.2009, 19:06
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Спасибо Да, видимо этот метод лучше того, что я привел.

UPD Главное, чтобы Object.prototype.toString никто не переопределил
Ответить с цитированием
  #7 (permalink)  
Старый 18.12.2009, 19:24
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

а это уже легко проверяется. изза этого кстати этот метод ненадежен... есть ли надежней методы?
Ответить с цитированием
  #8 (permalink)  
Старый 18.12.2009, 19:37
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

А смысл? Если уже начали переопределять, то можно и undefined = true установить, и прочий бред написать. В конце концов, можно реализовать настолько враждебное окружение, что любой скрипт перестанет работать. Так что не стоит беспокоится о надежности подобного плана.
Ответить с цитированием
  #9 (permalink)  
Старый 18.12.2009, 20:04
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

а почему сразу нестабильность? могут переписать функция которая будет переводить реально обьект в строку вида JSON...
Ответить с цитированием
  #10 (permalink)  
Старый 18.12.2009, 20:08
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Для этого есть JSON.stringify. Вообще трогать прототип Object дурной тон и чревато.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Понимание ООП в JavaScript kefi Общие вопросы Javascript 160 25.09.2012 21:30
Удалить ряд символов перед или после курсора до определенного сивола brd Javascript под браузер 3 30.10.2009 08:20
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36
object и object HTMLFormElement Paul56 Общие вопросы Javascript 2 17.07.2009 08:29