2011-03-06 3 views
3

jQuery 플러그인에 전달할 옵션 개체로 해시를 만들고 있습니다. 플러그인에서 정의한대로 사용해야하는 키 중 하나는 next입니다.Firefox 3.6의 JavaScript 해시에서 내 "다음"속성이 사라지는 이유

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 콘솔에 입력하고 동일한 결과를 얻었습니다.

+0

정말 재미 있습니다. 나는 그것이 왜 그렇게 할 것인지 전혀 모른다. – icktoofay

답변

3

다음 속성은 방화 광 콘솔에 인쇄되지 않지만 실제로 정의됩니다. JS가 아닌 Firebug에서 문제가 될 수 있습니다. 코드가 여전히 작동해야합니다.

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

그것은 bug in Firefox입니다.

버그로 인해 방화범 경고가 인쇄되지 않지만 실제 객체에는 여전히 next 속성이 올바르게 정의되어 있어야합니다.

+0

아 좋아. 좋은 편이긴한데 ... 다른 한편으로는 내 실제 코드를 더 디버깅해야한다는 의미입니다. 적어도 미친 게 아니야 ... :-) – prodigitalson