1. Prawie wszystko jest obiektem (poza nullem i `undefined`). 2
Transkrypt
1. Prawie wszystko jest obiektem (poza nullem i `undefined`). 2
1. Prawie wszystko jest obiektem (poza nullem i 'undefined'). 2. Dostawanie się do właściwości przez kropkę: obiekt.nazwaWlasciwosci; Przykład: var msg = "hello world!"; var x = msg.length; 3. Dostęp do metod uzyskuje się analogicznie do właściwości: obiekt.nazwaMetody(); var msg = "hello world!"; var x = msg.toUpperCase(); 4. Tworzenie obiektu: Dwa sposoby na stworzenie obiektu: 1. Zdefiniowanie i stworzenie instancji obiektu. 2. Zdefiniowanie obiektu funkcja i stworzenie nowej instancji Bezpośrednia instancja do obiektu: person = new Object(); person.firstname = "John"; person.lastname = "Doe"; person.age = 50; person.eyecolor = "blue"; alternatywnie: person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"}; 5. Tworzenie obiektu za pomocą konstruktora: function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; } var myFather=new person("John","Doe",50,"blue"); var myMother=new person("Sally","Rally",48,"green"); 6. Dodawanie metod: function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; this.changeName=changeName; function changeName(name) { this.lastname=name; } } myMother.changeName("Doe"); 7. Pętla for... in pozwala przebiec po wszystkich właściwościach obiektu: for (zmienna w obiekcie) { } var person={fname:"John",lname:"Doe",age:25}; for (x in person) { txt=txt + person[x]; } 8. Stringi: Właściwość .length zwraca długość stringa .indexOf() zwraca położenie (numer) pierwszego pojawienia się szukanego stringa, np: var str="Hello world, welcome to the universe."; var n=str.indexOf("welcome"); .match() - szuka podanego stringa, jeżeli istnieje zwraca pasujący element: Kod: var str="Hello world!"; document.write(str.match("world") + "<br>"); document.write(str.match("World") + "<br>"); document.write(str.match("world!")); Wyświetli: world null world! .replace() - zamienia jeden string, drugim: str="Please visit Microsoft!" var n=str.replace("Microsoft","W3Schools"); .toUpperCase()/.toLowerCase() - konwertuje tekst odpowiednio do dużych/małych znaków. Metody te nie zmieniaja początkowego stringu a generują nowy. .split() - generuje tablicę ze stringa wykorzystując znak podany w wejściu jako element odzielający: txt="a,b,c,d,e" // String txt.split(","); // Split 9. Daty: new Date() // current date and time new Date(milliseconds) //milliseconds since 1970/01/01 new Date(dateString) new Date(year, month, day, hours, minutes, seconds, milliseconds) Przykłady: var today = new Date() var d1 = new Date("October 13, 1975 11:13:00") var d2 = new Date(79,5,24) var d3 = new Date(79,5,24,11,33,0) Daty są obliczane w milisekundach od 1 stycznia 1970roku, każdy dzień trwa 86 400 000 milisekund. 10. Uzupełnienie do tablic: Tablice (arrays) przechowują wewnątrz siebie obiekty. Ponieważ wszystkie zmienne JSowe są obiektami, więc w arrayu możemy przechowywać różne typy: myArray[0]=Date.now; myArray[1]=myFunction; myArray[2]=myCars; Metody dla tablic: Możemy tworzyć nowe metody dla tablic wykorzystując globalny konstruktor prototype: Array.prototype.ucase=function() { for (i=0;i<this.length;i++) {this[i]=this[i].toUpperCase();} } 11. Matematyka: Obiekty Math pozwalają przeprowadzić różne matematyczne operację oraz zawierają różne matematyczne stałe: Math.E Math.PI Math.SQRT2 Math.SQRT1_2 Math.LN2 Math.LN10 Math.LOG2E Math.LOG10E Metody matematyczne: .round() - zaokrągla do najbliższej liczby całkowitej .random() - generuje losową liczbę z przedziału 0-1. http://www.w3schools.com/jsref/jsref_obj_math.asp 12. Wyrażenia regularne Dwa sposoby: var patt = new RegExp(wyrażenie, modyfikatory); albo var patt = /pattern/modifiers; Przykłady modyfikatorów: g - globalne, szukaj wszystkich pasujących, nie zatrzymuj się na pierwszym i - rozróżniaj małe/duże litery Przykład: <!DOCTYPE html> <html> <body> <p id="demo">Click the button to do a case-insensitive search for "w3schools" in a string.</p> <button onclick="myFunction()">Try it</button> <script> function myFunction() { var str = "Visit W3Schools"; var patt1 = /w3schools/i; var result = str.match(patt1); document.getElementById("demo").innerHTML=result; } </script> </body> </html> Przykład 2: <!DOCTYPE html> <html> <body> <p id="demo">Click the button to do a global search for "is" in a string.</p> <button onclick="myFunction()">Try it</button> <script> function myFunction() { var str = "Is this all there is?"; var patt1 = /is/g; var result = str.match(patt1); document.getElementById("demo").innerHTML=result; } </script> </body> </html> Przykład 3: <!DOCTYPE html> <html> <body> <p id="demo">Click the button to do a global, case-insensitive search for "is" in a string.</p> <button onclick="myFunction()">Try it</button> <script> function myFunction() { var str = "Is this all there is?"; var patt1 = /is/gi; var result = str.match(patt1); document.getElementById("demo").innerHTML=result; } </script> </body> </html> Metody wyrażeń: .test() - szuka stringa w tekście, jeśli go znajdzie zwraca prawdę, w innym przypadku fałsz .exec() - przeszukuje string w poszukiwaniu odpowiedniej wartości, jeśli znajdzie zwraca go, w innym przypadku zwraca null.