Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Аномальное поведение массива в Firefox |
Автор: Megas 20.9.2013, 20:43 | ||||
Пытаюсь отладить код, который почемуто не работает в Firefox, но отлично работает в Chrome. Суть такова, в некую функцию передаются параметры, один из которых массив. Внутри функции есть проверка этого массива (Переменная C): ![]() Какимто образом данное условие не срабатывает, не смотря на то, что данная переменная 100% массив. Это видно все в том же Firebug'e. ![]() Как можно видеть C является массивом, но при этом C instance Array почемуто false. В функцию данный массив передаётся примерно так: someFunction([1, 2, 3]) При этом как можно видеть выше [] instanceof Array = true Что я уже перепробовал: 1.
Перед вызовом функции data instance Array возвращает true, а вот в функции уже false 2. Пробовал и так:
Всеравно не работает. Для заметки: 1. Данное условие находится в самом начале функции, никаких действий с переменной C до этого не производится. 2. Проверяю на Firefox 23 3. Дебажу все через Firebug Я уже и не знаю что делать, как такое вообще возможно? Что я упустил? Как я уже сказал, в хроме все работает отлично. |
Автор: skyboy 21.9.2013, 00:50 |
нет уж. давай полностью сигнатуру метода и как он вызывается. мало ль. arguments тоже выглядит как массив. но это не массив. на крайняк, проверяй, что объект. и что есть length. |
Автор: Megas 21.9.2013, 16:59 | ||||
Ну если вдаваться в подробности, то я пишу юзерскрипт для игры ikariam. У них джаваскрипт обфусцирован, поэтому и названия у переменных такие. Функцию которую я вызываю отвечает за создание всплывающего окна с произвольной информацией. Метод вызывается так:
А вот и сам метод в сокращенном виде, все строчки до нужного условия сохранены, остальное вырезанно так как нет в нем нужды:
|
Автор: akizelokro 21.9.2013, 17:14 |
попробуй передать ['1', '2', '3'] |
Автор: Megas 22.9.2013, 14:13 | ||
akizelokro, как не удивительно, это никак не помогло. Да и с чего бы чтото изменило. Ещё большей загадкой является то, что:
|
Автор: Megas 23.9.2013, 00:07 |
Все, разобрался. Оказывается Array был переопределен. |