2.1 Zmienne i ból

Zacznijmy od najciekawszego. JavaScript ma zmienne, ale te zmienne nie mają typu. Każdej zmiennej można przypisać absolutnie dowolną wartość. Wygląda niewinnie, a nawet poręcznie, dopóki nie potrzebujesz typów.

Słowo kluczowe służy do deklarowania zmiennej var:

var name;
var name = value;

Przykłady pracy ze zmiennymi w JavaScript:

var a = 10, b = 20;
var c = a*a + b*b;

var s = "Diagonal equals:";
console.log( s + Math.sqrt(c));

Świetny i przejrzysty kod, prawda? Być może to ostatni raz w twoim życiu, kiedy widzisz piękny i zrozumiały kod JavaScript. Zapamiętaj tę chwilę :)

2.2 Pisanie w JavaScript

Jak wspomniano powyżej, zmienne w języku JavaScript nie mają typu. Ale wartości zmiennych mają typy. Oto 5 najpopularniejszych typów w JavaScript:

# Typ Przykład Opis
1 numer
var pi = 3.14;
Zawiera dowolną liczbę
2 Strunowy
var s = "Hello!";
Zawiera ciąg
3 logiczne
var result = true;
Zawiera prawdę lub fałsz
4 szyk
var arr = [1, 2, 3, 4, 5];
Zawiera tablicę elementów
5 Data
var current = new Date();
Zawiera datę
6 Obiekt
var o = {
   width: 100,
   height: 200
}
Zawiera obiekt, który składa się z par klucz, wartość. Coś podobnego do HashMap w Javie
7 funkcjonować
function sqr(var x) {
   return x*x;
}
Funkcjonować

Słowo kluczowe typeof służy do określenia typu obiektu, na przykład:

var s = "134";
var x = (typeof s == "String") ? s*1 : s;

2.3 Funkcje i zwroty

I oczywiście JavaScript ma funkcje. Nie ma klas, więc funkcje można deklarować w dowolnym miejscu w kodzie. Nawet w innych funkcjach. Ogólny format to:

function name(a, b, c) {
  // function code
   return result;
}

Funkcja nie ma typu. Dlaczego, jeśli w samym języku nie ma kontroli zgodności typów? Może również brakować parametrów funkcji. Podobnie jest z poleceniem return, które zwraca wartość.

Podczas wywoływania funkcji można przekazać dowolną liczbę parametrów dowolnego typu . Nadmiar zostanie odrzucony, brakujące zostaną wyrównane null.

Przykłady funkcji:

function getValue(name)
{
    return this[name];
}
function setValue(name, value)
{
    this[name] = value;
}

2.4 Tablice w JavaScript

Tablice w JavaScript są bardzo podobne do tablic w Javie. Przykłady:

var array = [1, 2, 3, 4, 5];
array[3] = array[2];
console.log (array[0]);

Mogą mieć wartości dowolnego typu, nawet inne tablice:

var array = [1, "Hello", 3.14, [4, 5] ];
array[3] = array[2];
console.log (array[0]);

Dodatkowo tablice również zachowują się jak kolekcje – możesz dynamicznie dodawać do nich elementy:

var array = [];
array.push(100);
array.push(101);
array.push(102);

array[1] = array[2];
console.log (array[0]);

2.5 Obiekty w JavaScript

Obiekty w JavaScript są bardzo podobne do HashMap w Javie: zawierają pary klucz-wartość. Przykład:

var obj = {
 name: "Bill Gates",
 age: 67,
 company: "Microsoft"
};

console.log (obj.age);

Dostęp do pól obiektów można uzyskać na dwa różne sposoby:

var x = obj.age;
var x = obj["age"];

Podobnie jak w przypadku HashMap, pola można tworzyć i usuwać. Przykład:

var obj = {};
obj.name = "Bill Gates";
obj.age = 67;
obj.company = "Microsoft";

delete obj.age;  //remove field