Drodzy czytelnicy, poniższe pytania zostały przygotowane w taki sposób, aby każdy z Was mógł się zaznajomić rodzajem pytań na które możecie natrafić w trakcie rozmowy kwalifikacyjnej związanej z językiem JavaScript. W praktyce często okazuję się, że rozmowa zaczyna się od postawowych zagadanień a następnie na podstawie Twoich odpowiedzi dyskusja jest kontynuowana - zagłębiamy się w szczegóły.

Czym jest JavaScript?
JavaScript to język skryptowy. Różni się o Javy. Jest lekkim, opartym na obiektach językiem skryptowym dostępnych na wielu platformach. Jest szeroko stosowany do sprawdzania poprawności danych wprowadzanych przez klienta.

Jaka jest różnica pomiędzy JavaScript a JScript?
Netscape udostępnił ten język skryptowy (JavaScript). Microsoft zmienił jego nazwę na JScript, aby uniknać problemów ze znakiem towarowym. Podsumowując odpowiedź można powiedzieć, że oba te języki skryptowe są takie same.

Jak napisać ‘Helo World’ w JavaScript?
<script type="text/javascript">
	document.write("JavaScript Hello World!");
</script> 

Jak używać zewnętrznych plików JavaScript?
W przykładzie zakładamy, że nazwa pliku to message.js. Zamieść poniższy przykład skryptu wewnątrz znacznika head:
<script type="text/javascript" src="message.js"></script>

Czy JavaScript uwzględnia wielkość liter?
Tak. Wielkość liter ma znaczenie w języku skryptowym JavaScript.

Czym jest BOM?
BOM oznacza: Browser Model Object. Zapewnia interakcję z przeglądarką a domyślnym obiektem jest window.

Czym jest DOM? Jak używać obiektu document?
DOM oznacza: Document Object Model. Obiekt document reprezentuje dokument HTML. Może służyć do uzyskiwania dostępu i zmiany treści HTML.

Jak używać obiektu window?
Obiekt window jest tworzony automatycznie przez przeglądarkę, która reprezentuje okno przeglądarki (do wyświetlania zawartości strony internetowej).

Służy do wyświetlania wyskakującego okienka dialogowego takiego jak np. okno alertu, potwierdzenia czy okno dialogowe wprowadzania danych.

Jak używać obiektu history?
Obiekt history może być używany do przełączania się pomiędzy stronami na witrynie przez nas odwiedzanej. Mówimy tutaj o cofnięciu się albo przekierowaniu do następnej w ramach przeglądania bieżącej lub innej strony. Istnieją trzy metody tego obiektu:
  • history.back()
  • history.forward()
  • history.go(number): liczba może być dodania (pójście naprzód) lub ujemna (sytuacja odwrotna)

Jak dodać komentarz w JavaScript?
W JavaScript istnieją dwa typy komentarzy:
  • Pojedyncza linia komentarza: reprezentowana przez podwójny ukośnik - //
  • Komentarz wielu wierszy: reprezentowany przez ukośnik z symbolem gwiazdki - /* miejsce przeznaczone na komenatrz */

Jak utworzyć funkcję w JavaScript?
Aby utworzyć funkcję w JavaScript należy użyć poniższej składni:
function function_name(){  
// ciało funkcji  
}  

Jakie są typy danych w JavaScript?
W JavaScript wyróżniamy dwa następujące typy danych:
  • podstawowe(proste) typy danych jak: String, Number czy Boolean;
  • nietypowe typy danych – nie przechowują one wartości a referencję do tej wartości. Zaliczamy do nich m.in: klasy, interfejsy czy tablice.

Jaka jest różnica pomiędzy operatorem == a === ?
Operator == sprawdza czy dane są sobie równe, podczas gdy operator === sprawdza równość oraz typ danych, tj. dane muszą być tego samego typu.

Jak napisać kod html dynamicznie używający JavaScript?
Właściwość innerHTML jest używana do pisania kodu HTML, który dynamicznie używa JavaScript. Spójrz na poniższy przykład:
document.getElementById('mylocation').innerHTML="<h2>To jest nagłówek napisany przy użyciu JavaScript</h2>";   

Jak napisać normalny tekst używając JavaScript?
Właściwość innerText jest używana do napisania prostego tekstu używającego JavaScript w sposób dynamiczny. Spójrz na poniższy przykład:
document.getElementById('mylocation').innerText="Przykład tekstu przy użyciu JavaScript";</h2>";   

Jak tworzyć obiekty w JavaScript?
W JavaScript mamy 3 możliwości tworzenia obiektów:
  • przez dosłowne utworzenie obiektu - przy użyciu klamr
  • za pomocą utworzenia instancji obiektu
  • za pomocą konstruktora obiektu
Przykład dosłownego utworzenia obiektu:
emp={id:8,name:"John",salary:50000}   

Jak utworzyć tablicę w JavaScript?
W JavaScript możemy zrobić to na 3 sposoby:
  • Utworzenie dosłownej tablicy – defnicja przy użyciu pustej klamry;
  • Tworząc instancję Array;
  • Przez użycie konstruktora Array

Co robi funkcja isNan()?
Funkcja isNan() zwraca true jeżeli wartość zmiennej nie jest liczbą.

Jaki jest wynik operacji 10+20+"30" w JavaScript?
3030 ponieważ 10 + 20 = 30. Jeżeli istnieje jakaś wartość liczbowa przed i po + to jest to operacja binarnego dodawania.

Jaki jest wynik operacji "10"+20+30 w JavaScript?
102030 ponieważ po ciągu znaków (10) każda z operacji + będzie traktowana jako operacja łączenia następujących po sobie znaków. Nie jest to operacja binarnego dodawnia.

Różnice pomiędzy JavaScript wykonywanym po stronie klienta a po stronie serwera?
Strona kliencka JavaScript zawiera podstawowy język i predefiniowane obiekty, które pozwalają na odpowiednie uruchamianie skryptów w przeglądarce. JavaScript po stronie klienta jest osadzona bezpośrednio na stronie HTML. Ten skrypt jest interpretowany przez przeglądarkę w czasie wykonywania.

JavaScript po stronie serwera przypomina ten ze stony klienta. Zasadnicza różnica polega na tym, że ten wykonywany jest po stronie serwera – wdrażany jest tylko po kompilacji.

W jakiej lokalizacji na dysku twardym przechowywany są ‘ciasteczka’?
Przechowywanie plików cookie uzależnione jest od systemu operacyjnego i przeglądarki.

Niektóre z nich przechowywane są w folderze instalacyjnym przeglądarki, inne w specjalnych lokalizacjach w folderze Windows lub też w ‘Dokumentach’ konkretnego użytkownika.

Jaka jest prawdziwa nazwa JavaScript?
Orginalna nazwa, Mocha, została wybrana przez Marc’a Andreessen’a, założyciela Netscape.

Jaka jest różnica pomiędzy wartością undefined a null?
Undefined: wartość, która nie jest zdefiniowana oraz nie posiada słowa kluczowego:
int number; // liczba jest wartość niezdefiniowaną

Null: wartość określona za pomocą słowa kluczowego null:
String str=null; //str jest zdefiniowany jako wartość null

Jak ustawić kursor na tryb ‘wait’?
Kursor może być ustawiony przy użyciu JavaScript:
<script>
window.document.body.style.cursor = "wait";
</script>  

Co zostało przedstawione poniżej?
var myArray = [[[]]];  
Jest to tablica trójwymiarowa.

Czy Java i JavaScript są tym samym językiem?
Nie, są to dwa różne języki. Java jest silnym, zabezpieczonym i obiektowym językim programownia, podczas gdy JavaScript jest językim skryptowym po stronie klienta z pewnymi ograniczeniami.

Czym jest negatywna nieskończoność?
Negatywna nieskończoność jest liczbą w kodzie JavaScript, którą można uzyskać dzieląc liczbę ujemną przez zero.

Jaka jest różnica pomiędzy View state oraz Session state?
View State jest związany ściśle z wyświetlaną stroną, podczas gdy Session State jest specyficzny dla użytkownika lub przeglądarki do której można uzyskać dostęp na wszystkich stronach danej witryny internetowej.

Jakie ‘wyskakujące okienka’ są dostępne w JavaScript?
  • okno ostrzeżenia (alert);
  • okno potwierdzenia (confirm);
  • okno wprowadzania danych (prompt)

Jak możemy wykryć system operacyjny używany przez klienta JavaScript?
Możemy tego dokonać przy użyciu navigator.appVersion

Jak wysłać formularz po kliknięciu na link?
<form name="myform" action="index.php">  
Search: <input type='text' name='query' />
  
<a href="javascript: submitform()">Search</a>  
</form>
<script type="text/javascript">

function submitform() {
	document.myform.submit();
}
</script>

Czy JavaScript jest szybszy niż skrypt ASP?
Tak, do swojego wykonania nie potrzebuje wsparcia serwera.

Jak zmienić tło stony HTML używając do tego JavaScript?
<script type="text/javascript">
document.body.bgColor = "pink";
</script>  

Jak obsługiwać wyjątki?
W tym celu należy skorzystać z bloku: try/catch. JavaScript pozwala na użycie słów kluczowych: try, catch, finally oraz throw przy obsłudze wyjątków.