SCRPT5039: Redeclaration of const property line 1 character 1

Linia1: {x0}}

Jest to początek pliku i sprawdzałem, aby upewnić się, że zmienna nie jest w żadnym innym plikach JS. Czy mówi, że ponownie przeskakuję później? (Jeśli tak, tak, że odniesienie do linii nie jest przydatne) lub co jest z tym nie tak?

12
Damon 28 wrzesień 2011, 08:04

8 odpowiedzi

Najlepsza odpowiedź

Edytuj: Naprawiono go. W każdym razie. Dostałem ten błąd przed błędem redeklaracji:

HTML1113: Document mode restart from Quirks to IE9 Standards 

Sugeruje to, że tzn. Znajduje to, co uważa, że jest błąd, więc ponownie ładuje stronę w trybie Quirks. Ładowanie strony dwukrotnie sprawia, że uważa, że wszystko jest dwukrotnie zadeklarowane. Tak więc rozwiązaniem jest znalezienie tego, co to nie podobało.

Najpierw prowadziłem stronę przez Weryfikator HTML online. Następnie prowadziłem mój javascript przez JSINT. Po tym wszystkim, IE9 wydawało się szczęśliwy. I jako bonus mam lepszy kod jakości. Mam nadzieję.

4
Chris Tolworthy 18 styczeń 2012, 19:47

Mam ten błąd z następującym kodem:

var window;

Dodałem tę deklarację do obejścia błędu węzła podczas korzystania z poniższego kodu:

if (!window) {
  //node-specific stuff
}

Bez powyższej deklaracji węzeł wold narzeka. W końcu zdecydowałem się skopiować / wkleić, a nie próbować udostępniać dokładnie ten sam plik między węzłem a wdrożeniami przeglądarki.

5
Curt Williams 8 luty 2012, 07:51

Miałem podobny problem z tym samym błędem, ale mój pierwszy wiersz kodu był alert(0);, który włożyłem, aby upewnić się, że skrypt został załadowany! Co ciekawe, skrypt był załadowany zgodnie z narzędziami deweloperami IE9, ale pierwsza linia nigdy nie została wykonana, a błąd wskazał na to alert(0); jako redeklaracja. I nawet włożyłem linie i przestrzenie przed nim, a numer linii i znaków zmienił się odpowiednio. Jednak to (oczywiście) nie było redeklarne, ponieważ nie jest nawet deklaracją, nie mówiąc już o redeklaracji!

Usunąłem kawałki od końca skryptu, aż wykonałem alert(0); (wskazując, że skrypt załadował i został pomyślnie analizowany), a odkryłem, że przerażająca linia była:

var screen;

Okazuje się IE9 już ma window.screen, z którym ta deklaracja zderząc się, a nazwa mojego screen do eScreen Naprawiono problem.

Więc moja odpowiedź brzmi: nie ufaj wskazaniem IE9, gdzie jest redeklaracja!

(Warto również zauważyć, że skrypt był w porządku w oryginalnej formie na IE7, IE8 i IE10, nie tylko na IE9).

3
IpsRich 7 czerwiec 2013, 12:07

Miałem ten sam problem w moim kodzie i okaże się, że tj. Wyświetlona nieprawidłowa linia była redeklaracja. W moim przypadku była to historia, której używam później w kodzie. Powinieneś sprawdzić cały kod do redeklaracji stałych. Możesz spróbować skomentować część kodu i zobaczyć, kiedy rzuca to błąd.

1
jcubic 6 marzec 2013, 09:53

Błąd przychodzi, ponieważ zadeklarowałeś jakąś zmienną globalną / lokalną, która pasuje do domyślnej właściwości przeglądarki. Coś jak

var window = '';
var navigator = '';

Spróbuj usunąć / komentować taką deklarację i zobaczyć efekty.

1
Rajdeep 6 maj 2016, 10:11

Dostałem ten błąd - problem to linia, na której pożary jest całkowicie fałszywe. Podobnie jak op, była to wczesna linia w moim skrypcie, która została oznaczona:

        var h_combinedView = true;

Komunikat o błędzie jest bardzo mylący: " 0x800A041C - JavaScript Runtime Error: Let / Const Redeclareation "

Flagowana linia nie jest definicją Const, a wartość na nim jest zdefiniowana raz w całym moim projekcie i nigdy więcej.

W końcu śledziłem problem do rzeczywistej duplikowanej definicji Const.

const ve = { Normal: 'default', Search: 'search', View: 'view', Alts: 'ViewAlts', Edit: 'edit' }

(Przeniosłem definicję używaną w wielu miejscach do wspólnego pliku i amp; zapomniałem usunąć jedną kopię). Komunikat o błędzie był legalny - IT był Durepred Const Definicja - ale linia i identyfikator flagowany nie miały nic wspólnego z problemem.

Nic jak niedokładne komunikaty o błędach, aby zmusić mnie do przejścia przez mój kod.

:-)

1
boB 23 marzec 2019, 01:07

Miałem ten sam błąd i natknąłem się na ten post. Chociaż nie miałem tej samej kwestii korzeniowej, jak pomyślałem, że podzielę się moim rozwiązaniem w przypadku, gdy inni sprawiają, że inni w ten sam błąd i przybyli tutaj. Otrzymałem błąd w osobnym pliku JS. Po uproszczeniu go odkryłem, że mogę wygenerować błąd z następującego kodu:

var foo = null;
var bar = null;
var localData = null;

Błąd powiedział, że to z pierwszej linii. Jednak foo nie był redeklarowany. Problem polegał na tym, że LocalData musi być użyty gdzie indziej (nie w moim kodzie). Bez względu na to, jak daleko w pliku zadeklarowano LocalData, błąd wymieniony jako w pierwszej rzeczywistej linii kodu.

Tak więc, jeśli inne rozwiązania nie działają, spróbuj zmienić zmienić każdą zmienną w pliku kodu, aby określić, który może powodować problem. Nie ufaj, że debuger wskazuje na właściwą linię.

Napotkano: aplikacja sklepu HTML5 / JS Window Store.

0
Hypnovirus 4 grudzień 2013, 18:21

Z błędu przeze mnie r., Odkryłem, że dwukrotnie włączyłem skrypt w moim HTML. W ten sposób, kiedy rozpoczął skrypt po raz drugi, redeklałę zmienną.

I dał mi tylko błąd dla pierwszego {x0}}, który był do mnie mylący, ponieważ próbowałem usunąć zmienną lub dodać inny do pliku, zawsze dał mi błąd dla pierwszej linii.

0
Post Self 28 marzec 2018, 09:18