Rdzenne Obiekty JavaScript
Najcześciej wykorzystywane w dowolnych skryptach spotykanych w sieci. Oprócz właściwości i metod jakie możemy na nich wykonać przybliżę niektóre sposoby ich wykorzystania.
1. OBIEKT ARRAY
Czyli Tablica - jest używana do przechowywania zbioru wartości, kolejno ułożonych, do których odwołujemy się poprzez nazwę tablicy i indeks.
Tablicę tworzymy korzystając z operatora new. Do dyspozycji mamy kilka sposobów:
var owoce=new Array("Gruszka","Banan","Ananas")
var owoce=new Array(3)
owoce[0]="Gruszka"
owoce[1]="Banan"
owoce[2]="Ananas"
przykład tablicy poziomej: np. info o soku:
sok=new Array()
sok.smak="Pomidorowy"
sok.pojemnosc="1 litr"
sok.producent="juicy co"
sok.length // wynik=3
Usuwanie tablic i elementów tablic:
myArray.length // wynik 5
delete.myArray[2]
myArray.length // wynik 5
myArray[2] // wynik: undefined
1. Właściwości.
nazwa opis uwagi
constructor Zawiera funkcję tworzącą prototyp obiektu NN4 IE4
length zwraca liczbę elementów w tablicy NN3 IE4
prototype pozwala na dodanie właściwości do tablicy NN3 IE4
2. Metody
nazwa- opis- uwagi
.concat(obiektArray2) łączy dwie lub więcej tablic i zwraca nową NN4 IE4
.join("separ") zwraca:string elementów tablicy przedzielonych separatorem przykład
.pop() usuwa i zwraca ostatni element tablicy NN4 IE5.5
.push("el1"[,"el2"]) dodaje element lub więcej na koniec tablicy i zwraca nową długość NN4 IE5.5
.reverse() zwraca tablice z elementami w odwrotnej kolej przykład
.slice(indexPocz [,indexKońc]) zwraca:tablica utworzona z części danej NN4 IE4
.sort([funkcjaPorównawcza]) zwraca tablicę posortowaną przykład
.splice(index,ile,[,el1, el2]) dodaje i/lub usuwa elementy tablicy NN4 IE5.5
.toSource() zwraca string który reprezentuje źródło tablicy NN4.06 IE4
.toString() zwraca string który reprezentuje daną tablicę NN3 IE4
.unshift("el1"[,"el2"]) dodaje jeden lub kilka elementów na początek tablicy i zwraca nową długość NN4 IE5.5
.valueOf() zwraca wartość tablicy
2. OBIEKT BOOLEAN
Służy do tworzenia i przechowywania wartości logicznych prawda lub fałsz.
Jeżeli chcemy stworzyć obiekt którego wartość logiczna wynosi fałsz:
var b1=new Boolean()
var b2=new Boolean(0)
var b3=new Boolean(null)
var b4=new Boolean("")
var b5=new Boolean(false)
var b6=new Boolean(NaN)
Jeżeli chcemy stworzyć obiekt którego wartość logiczna wynosi prawda:
var b1=new Boolean(true)
var b2=new Boolean("true")
var b3=new Boolean("false")
var b4=new Boolean("prawda")
var b5=new Boolean("fałsz")
var b6=new Boolean("Janek")
3. OBIEKT DATE
Często zdarza się sytuacja w której zmuszeni jesteśmy używać daty i czasu. Do wszystkich operacji na czasie służy obiekt date.
Korzystanie z daty wiąże się z wywołaniem konstruktora obiektu DATE:
var today=new Date() // bez parametrów
Zawartość obiektu Date można odczytywać dla żądanej daty - podając jako parametry:
var someDate=new Date(milisekundy)
var someDate=new Date("Miesiac dd, rrrr gg:mm:ss")
var someDate=new Date("Miesiac dd, rrrr")
var someDate=new Date(rr,mm,dd,gg,mm,ss)
var someDate=new Date(rr,mm,dd)
miesiące są liczone od zera: styczeń to 0 a grudzień 11
Metody
nazwa- opis
.getTime() Liczba milisekund od 1970-01-01 od godziny 00:00:00 czasu Greenwich
.getTimezoneOffset() Zwraca różnicę czasu lokalnego i GMT
.getYear() Określony rok minus 1900;czterocyfrowe oznaczenia dla roku 2000 i kolejnych
.getFullYear() Rok w postaci 4-cyfrowej
.getUTCFullYear() Rok w postaci 4-cyfrowej czasu uniwersalnego
.getMonth() Miesiąc roku (0-11)
.getUTCMonth() Miesiąc roku czasu uniwersalnego
.getDate() Dzień miesiąca (1-31)
.getUTCDate() Dzień miesiąca czasu uniwersalnego
.getDay() Dzień tygodnia (niedziela=0) (0-6)
.getUTCDay() Dzień tygodnia czasu uniwersalnego
.getHours() Godzina dnia w zapisie 24-godzinnym (0-23)
.getUTCHours() Godzina dnia czasu uniwersalnego
.getMinutes() Minuta godziny (0-59)
.getUTCMinutes() Minuta godziny czasu uniwersalnego
.getSeconds() Sekunda minuty (0-59)
.getUTCSeconds() Sekunda minuty czasu uniwersalnego
.getMilliseconds() Milisekunda sekundy (0-999)
.getUTCMilliseconds() Milisekunda sekundy czasu uniwersalnego
.setTime(val) Ustawia liczbę milisekund od 1970-01-01 od godziny 00:00:00 czasu Greenwich
.setYear(val) Ustawia rok minus 1900; czterocyfrowe oznaczenia dla roku 2000 i kolejnych
.setFullYear(val) Ustawia rok w postaci 4-cyfrowej
.setUTCFullYear(val) Ustawia rok w postaci 4-cyfrowej czasu uniwersalnego
.setMonth(val) Ustawia miesiąc roku (0-11)
.setUTCMonth(val) Ustawia miesiąc roku czasu uniwersalnego
.setDate(val) Ustawia dzień miesiąca (1-31)
.setUTCDate(val) Ustawia dzień miesiąca czasu uniwersalnego
.setDay(val) Ustawia dzień tygodnia (niedziela=0) (0-6)
.setUTCDay(val) Ustawia dzień tygodnia czasu uniwersalnego
.setHours(val) Ustawia godzinę dnia w zapisie 24-godzinnym (0-23)
.setUTCHours(val) Ustawia godzinę dnia czasu uniwersalnego
.setMinutes(val) Ustawia minutę godziny (0-59)
.setUTCMinutes(val) Ustawia minutę godziny czasu uniwersalnego
.setSeconds(val) Ustawia sekundę minuty (0-59)
.setUTCSeconds(val) Ustawia sekundę minuty czasu uniwersalnego
.setMilliseconds(val) Ustawia milisekundę sekundy (0-999)
.setUTCMilliseconds(val) Ustawia milisekundę sekundy czasu uniwersalnego
.parse() Zwraca string z datą - jako ilość milisekund od 1 stycznia 1970 00:00:00
.toGMTString() Zwraca stringa z datą ustawioną na GMT
.toLocaleString() Zwraca stringa z datą lokalną
.toString() Zwraca stringa z datą
Przy obliczeniach na datach najlepiej operować na milisekundach.
przykład
4. OBIEKT MATH
Gdy potrzebujemy wykonać bardziej skomplikowane operacje matematyczne poza tymi, które umożliwiają operatory arytmetyczne, korzystamy ze stałych i funkcji obiektu MATH.
Przykładowo, gdy chcemy wylosować jakąś liczbę:
liczba=Math.random()
Stałe:
symbol- opis
E Podstawa logarytmu naturalnego - liczba e
LN2 Logarytm naturalny z 2
LN10 Logarytm naturalny z 10
LOG2E Logarytm z e przy podstawie 2
LOG10E Logarytm z e przy podstawie 10
PI Liczba Pi
SQRT1_2 Odwrotność pierwiastka kwadratowego z 2
SQRT2 Pierwiastek kwadratowy z 2
Funkcje:
nazwa- opis
abs(x) Wartość bezwzględna liczby
acos(x) Arcus cosinus liczby
asin(x) Arcus sinus liczby
atan(x) Arcus tangens liczby
atan2(y,x) Zwraca kąt od osi x do punktu y
ceil(x) Zwraca najbliższą liczbę całkowitą większą lub równą x
exp(x) zwraca e do potęgi x
floor(x) Zwraca najbliższą liczbę całkowitą mniejszą lub równą x
log(x) logarytm naturalny z x
max(x,y) Zwraca większą z dwóch liczb
min(x,y) Zwraca mniejszą z dwóch liczb
pow(x,y) Zwraca x do potęgi y
random() Zwraca losową liczbę rzeczywistą z przedziału 0 - 1
round(x) Zaokrągla x do liczby całkowitej
sqrt(x) kwadrat liczby
sin(x) sinus liczby
cos(x) cosinus liczby
tan(x) tangens liczby
5. OBIEKT NUMBER
Składnia: tworzenie obiektu Number:
var value= new Number(liczba)
korzystanie z metod i właściwości:
Number.wlasciwosc|metoda
Obiekty i wartości liczbowe są wewnętrznie definiowane jako 64-bitowe.
Liczby możemy zapisywać z wykładnikiem:
1e6 = 1*10^6
1e-4 = 1*10^(-4)
Liczby w zapisie dziesiętnym, szesnastkowym i ósemkowym:
dziesiętne nie mogą zaczynać się od zer wiodących
wartości szesnastkowe zaczynamy od 0x lub 0X
w postaci ósemkowej zaczynamy od zera wiodącego i używamy cyfr 0-7
Zamiana łańcuchów na liczby:
parseInt(łańcuch[, podstawa])
parseFloat(łańcuch[, podstawa])
podstawa systemu liczbowego 10, 16 lub 8 - ale liczba całkowita
parseInt("010") = 8
parseInt("010",10) = 10
parseInt("F2") = NaN
parseInt("F2",16) = 242
Zamiana liczb na łańcuchy:
dolarow=2500
dolarow.toString() // wynik="2500"
Partametr do określenia systemu liczbowego:
var x=30
var y=x.toString(16) // wynik="1e"
var z=x.tostring(2) // wynik="11110"
Gdy wartość nie jest liczbą:
Not a Number // NaN
funkcja .isNaN(wartość) zwraca true gdy wartość nie jest liczbą i false gdy jest.
1. Właściwości.
MAX_VALUE MIN_VALUE NaN NEGATIVE_INFINITY POSITIVE_INFINITY prototype
najmniejsza wartość np.: 2.22E-308 największa 1.79E+308
2. Metody.
toString()
6. OBIEKT STRING
Znaki specjalne wewnątrz łańcuchów:
\" podwójny cudzysłów
\' pojedynczy cudzysłów (apostrof)
\\ ukośnik lewy
\b backspace
\t znacznik tabulacji
\n znak nowej linii
\r znak powrotu karetki
\f znak przewinięcia strony
Składnia: tworzenie obiektu string:
var napis=new String("łańcuch znaków")
Korzystanie z metod i wlaściwości:
string.właściwość|metoda
1. Właściwości.
nazwa opis uwagi
length zwraca długość łańcucha (int) tylko odczyt
prototype obiekt - prototyp odczyt i zapis; NN3 IE4 przykład
2a. Metody rozbioru łańcuchów.
nazwa opis uwagi
.charAt(n) zwraca:znak na pozycji n w stringu
np. ostatni znak: napis.charAt(napis.length-1)
.charCodeAt([n]) zwraca:liczba odpowiadająca znakowi
String.fromCharCode(kod1[,kodn]) zwraca:napis ze znaków NN4 IE4 przykład
.concat(napis2) zwraca:połączony łańcuch znaków
"abc".concat("def") // = "abcdef" NN4 IE4
.indexOf(szukane[,indexPocz]) numer indexu łańcucha, od którego zaczyna się szukane; gdy łańcuch nie zostanie odnaleziony zwracane jest -1
.lastIndexOf(szukane[,indexPocz]) przeszukiwanie rozpoczyna się od końca, także od podanego indexu w kierunku początku łańcucha
"banany".lastIndexOf("a",2) // wynik =1
.match(wyrażenieRegularne) zwraca: tablicę łańcuchów spełniających kryteria NN4 IE4 przykład
.replace(wyrReg, nowyŁańcuch) podmienia nowymŁańcuchem odpowiadające ciągi w stringu NN4 IE4
.search(wyrReg) zwraca:liczbę całkowitą określającą pozycję w łańcuchu; różnica z indexOf() polega na tym, że tu używane jest wyrażenie regularne NN4 IE4
.slice(indexPocz[, indexKońc]) podobnie jak substring()
łańcuch.substring(4, (łańcuch.length-2))
łańcuch.slice(4, -2) // da to samo NN4 IE4
.split( "znakOddzielający" [,maksymalnaLiczba]) zwraca: tablica oddzielonych od siebie elementów
NN3 IE4
.substr(początek[,długość]) podobnie jak substring - 2 parametr określa długość łańcucha
.substring(indexA, indexB) zwraca: łańcuch od idxA do idxB
.toLowerCase()
.toUpperCase() zmienia litery na mała
zmienia litery na wielkie
2b. Metody formatujące łańcuchy.
Składnia: łańcuch.metoda
var napis=new String("NaPiS")
sposób użycia- wynik
napis.anchor("abc") < A NAME="abc"> NaPiS< /A>
napis.blink() < BLINK> NaPiS< /BLINK>
napis.bold() < B> NaPiS< /B>
napis.fixed() < TT> NaPiS< /TT>
napis.fontcolor("red") < FONT COLOR="red"> NaPiS< /FONT>
napis.fontsize(2) < FONT SIZE="2"> NaPiS< /FONT>
napis.italics() < I> NaPiS< /I>
napis.link("http://www.w3c.org") < A HREF="http://www.w3c.org"> NaPiS< /A>
napis.big() < BIG> NaPiS< /BIG>
napis.small() < SMALL> NaPiS< /SMALL>
napis.strike() < STRIKE> NaPiS< /STRIKE>
napis.sub() < SUB> NaPiS< /SUB>
napis.sup() < SUP> NaPiS< /SUP>
escape("Ala ma\nkota") Ala%20ma%0Akota
unescape("Ala%20ma%20kota") Ala ma kota