Problem z Bracket i eslint

0

Własnie zacząłem naukę Javascript i już na starcie mam problem.
Mianowicie po napisaniu prostego kodu w Brackets przy zapisie pliku pojawił mi się błąd Eslint error: timeout.
Po ponownym uruchoniemiu programu sytuacja wygląda jak na załączniku i nie mam pojęcia w czym jest problem.

eslint.png

Z góry dziękuję za pomoc.

0

Pozwolę sobie odświeżyć, ponieważ mam ten sam problem. Szukałem w necie rozwiązania i natrafiłem na jeden wątek na jednym forum anglojęzycznym dotyczącym tego samego problemu. Jeden z użytkowników napisał żeby spróbować czegoś takiego "[email protected]" i to podobno załatwiło problem, ale ja nie mam pojęcia co mam z tą frazą zrobić a to już nie było tam wyjaśnione. Niżej podaję link do tego wątku:

https://stackoverflow.com/questions/50561928/eslint-terminated-with-error-timeout-in-brackets/50562746

0

Prosimy o pokazanie kodu, a nie jakichś skrinów.

0
Freja Draco napisał(a):

Prosimy o pokazanie kodu, a nie jakichś skrinów.

Mój kod na razie wygląda tak, ale ten błąd pokazał się już przy stworzeniu nowego pliku .js więc to chyba nie kwestia kodu.
var przycisk = document.getElementById("button");
var kontener = document.getElementById("container");

0

Po pierwsze: a masz tam też jakiś HTML, do którego ten JS może się odnosić?

A wyskrinowany problem, to raczej bardziej problem edytora, który nadaktywnie stara się korygować kod, a rozchodzi się o to, że zmienne zadeklarowane wewnątrz funkcji JS są deklarowane zaraz po jej otwarciu a nie na tym etapie wykonywania funkcji, na który by wskazywało ich umiejscowienie, co może prowadzić do nieprzewidywalnych zachowań funkcji, jeśli nie zdajesz sobie z tego sprawy.

0

Po pierwsze: a masz tam też jakiś HTML, do którego ten JS może się odnosić?

A wyskrinowany problem, to raczej bardziej problem edytora, który nadaktywnie stara się korygować kod, a rozchodzi się o to, że zmienne zadeklarowane wewnątrz funkcji JS są deklarowane zaraz po jej otwarciu a nie na tym etapie wykonywania funkcji, na który by wskazywało ich umiejscowienie, co może prowadzić do nieprzewidywalnych zachowań funkcji, jeśli nie zdajesz sobie z tego sprawy.

Screen na początku tego wątku to screen autora. Ja go tylko odświeżyłem żeby nie tworzyć nowego wątku o tym samym problemie. Odpowiadając na pytanie - tak. Niżej podaję kod HTML:

<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Klikacz - losowa liczba</title>
<link rel="stylesheet" href="style.css">
</head>

<body>
<button id="button">Wylosuj liczbę</button>
<div id="container"></div>
<script src="javascript.js"></script>
</body>
</html>

0

Spróbuj sobie zrobić, jak w pierwszym przykładzie:
https://www.w3schools.com/js/js_best_practices.asp

0

Zajrzyj tutaj: https://www.nafrontendzie.pl/zakres-zmiennych-javascript
i znajdź hasło: hoisting

0

Skoro mam nie używać globalnych zmiennych to jak powinny wyglądać te dwie linijki kodu, które napisałem wyżej? Przerabiam dopiero pierwszą lekcję Java Script w moim życiu (z kanału Samuraj Programowania). Nie ja wymyśliłem ten kod. Przejrzałem to co mi podlinkowałeś, ale na razie nie za bardzo ogarniam o co chodzi. Chyba jeszcze trochę za wcześnie. Poza tym jak już napisałem wyżej ten błąd o który mi chodzi wyskoczył zanim jeszcze napisałem pierwszą literę kodu. A teraz wyskakują kolejne błędy.

0

Dobra, to taki przykład https://cezarywalenciuk.pl/blog/programing/post/javascript-zmienne-globalne-dlaczego-sie-ich-unika

mygame = "Devil May Cry";

function func() {
    alert(mygame);
    var mygame = "X-COM";
    alert(mygame);
}

func();

Na logikę powinno wyświetlić:

  • "Devil May Cry" - odczytane ze zmiennej globalnej
  • "X-COM" - po nadpisaniu jej wewnątrz funkcji przez zmienną globalną

Ale wyniki będą wyglądać:

  • undefined
  • "X-COM"

A to dlatego, że każda zmienna lokalna użyta wewnątrz funkcji jest i tak deklarowana na jej początku i przybierze wartość "undefinded", co może prowadzić do konfuzji, jeśli się o tym nie pamiętam. Podejrzewam zatem, że twój edytor usiłuje wymusić na tobie zadeklarowanie użytych wewnątrz funkcji zmiennych na jej początku w sposób jawny, żeby uniknąć ewentualnej konfuzji przy jej czytaniu.

Więc dodaj sobie na początku funkcji:

var przycisk, kontener;
i powinien się odczepić.

0

Więc dodaj sobie na początku funkcji:

var przycisk, kontener;
i powinien się odczepić.

Ale jakiej funkcji? Czy chodzi ci o metodę getElementById? Tylko, że wtedy wyjdzie coś takiego: var przycisk = document.var przyciskgetElementById("button");.

0

A... to ty pytasz o ten timeotu w edytorze Brackets?

A możesz zapodać całość swojego kodu HTML+JS, bo wie wiem, co tam w sumie masz i dlaczego nie działa.

0

HTML:
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Klikacz - losowa liczba</title>
<link rel="stylesheet" href="style.css">
</head>

<body>
<button id="button">Wylosuj liczbę</button>
<div id="container"></div>
<script src="javascript.js"></script>
</body>
</html>

JS:
var przycisk = document.getElementById("button");
var kontener = document.getElementById("container");

0

Czy chodziło ci o :


  var przycisk = document.getElementById("button");
  var kontener = document.getElementById("container");
0
Freja Draco napisał(a):

Czy chodziło ci o :


  var przycisk = document.getElementById("button");
  var kontener = document.getElementById("container");

Dokładnie to napisałem.

0

To ja nie wiem, co namotałam.
Powyższe deklaracje JS wywołane w kontekście powyższego pliku HTML są najzupełniej poprawne. Jeśli to jest cały html+js to nic nie powinno się tam pluć.

0
Freja Draco napisał(a):

To ja nie wiem, co namotałam.
Powyższe deklaracje JS wywołane w kontekście powyższego pliku HTML są najzupełniej poprawne. Jeśli to jest cały html+js to nic nie powinno się tam pluć.

Tak też myślałem. To raczej coś z tym ESLintem. Najwyżej go wyłączę i tyle. Tak czy inaczej dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1