Инструменты пользователя

Инструменты сайта


dev:javascript:kak_opredelit_chto_tip_peremennoj_massiv

====== Как определить что тип переменной массив ====== ===== Описание ===== Первое решение, которое приходит в голову - использование **typeof** - не подходит, поскольку в данном случае тип всегда будет **object**. ==== Решение ==== Надо задействовать метод **instanceof**: <code javascript> var arr = new Array; var notarr = 5; print (arr instanceof Array); print (noarr instanceof Array); </code> Однако данный способ не подходит для определения экземпляра **Object**, потому что все классы, в том числе **Array**, унаследованы от него. Так же можно использовать следующую конструкцию: <code javascript> var arr = new Array; Object.prototype.toString.call(arr) == '[object Array]' </code> В этом случае можно отличать экземпляры **Object** по строке //[object Object]//. === Информация === Источник: [[http://stackoverflow.com/questions/12996871/why-does-typeof-array-with-objects-return-object-and-not-array|Why does typeof array with objects return “Object” and not “Array”?]]

Дискуссия

Enter your comment
 
dev/javascript/kak_opredelit_chto_tip_peremennoj_massiv.txt · Последние изменения: 12.12.2012 09:31 (внешнее изменение)

Инструменты страницы