piątek, 8 czerwca 2012

JavaScript - trochę uzupełnień z natury języka

i = “23” * 2 + false; //działa

var: początkowa wartość undefined

for (var i in someArray)

sum2 += someArray[i];   //indeksowanie stringami z liczbami

Tablice mogą zawierać puste elementy:

var A2 = [];

A2[159] = “aaa”;

Funkcje nic niezwracające = zwracają undefined

applyToAll(alert, someArray); //funkcja standardowa przekazywana w parametrze jak każda inna

Definicja klasy

Funkcja konstruktora

function Product(name, price) {

this.name = name;

this.salary = salary;

this.tax = function() {

      …

};

}

Tworzenie obiektów = pusty obiekt + funkcja konstruktora

var product = {};

Product.call(product, “Windows 8”, 234.99);

co jest równoważne skrótowi:

var product = new Product(“Windows 8”, 234.99);

Lepiej:

function Product(name, price) {

this.name = name;

this.price = price;

}

Product.prototype.tax = function() {

};

Pola statyczne w klasach

Product.companyName = “aaa… “;

Prywatne składowe

function Product(name, price) {

this.get_price = function() { return price; };

this.set_price = function(newPrice) { price = newPrice; };

}

Product.prototype.tax = function() {

… this.get_price() …

}

Brak komentarzy: