Почему мое «следующее» свойство исчезает в моем хэше JavaScript в Firefox 3.6 - PullRequest
3 голосов
/ 06 марта 2011

Я создаю хеш как объект параметров для передачи в плагин jQuery.Один из ключей, которые мне нужно использовать, как определено плагином, это next.

Это прекрасно работает в Safari (поэтому я предполагаю, что Webkit в целом), но в Firefox его удалили, или проигнорировали, или что-то ... его просто нет.Например:

var opts = {
  "next": "some selector string",
  "prev": "some other selector string",
  "anotherOption": 1
};

console.log(opts);

Ouput:

anotherOption      1
prev               "some other selector string"

Это сводит меня с ума.Более того, существует множество плагинов и вещей, которые используют это имя ключа в каком-то хэше опций, и я никогда раньше не замечал такого поведения.Может кто-нибудь сказать мне, что здесь происходит и как обойти это?(Я попытался сделать opts.next = "something" вместо этого, но это дает тот же результат).

Это также не проблема с окружающим кодом - я напечатал пример (за исключением вызова console.log) в моемFirebug консоль и получил тот же результат.

Ответы [ 2 ]

4 голосов
/ 06 марта 2011

Это ошибка в Firefox .

Эта ошибка не позволяет Firebug распечатать ее, но фактический объект все равно должен иметь правильно определенное свойство next.

3 голосов
/ 06 марта 2011

Свойство next не распечатывается в консоли Firebug, но оно действительно определено.Это может быть проблемой с Firebug, а не с JS.Ваш код все еще должен работать.

>>> var v = {};
undefined
>>> v.next = 'foo';
"foo"
>>> v.prev = 'bar';
"bar"
>>> v
Object { prev="bar"}
>>> v.next
"foo"
...