SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Going deep: Javascript i jQuery
Antonio Pavlinović
Uvodna riječ
Dobar dan svima
Plan za danas
1. Uvodna riječ
2. Moderni web: jQuery i Javascript
Motivacija za današnje predavanje
3. Osnova svakog frameworka i kako to jQuery radi?
1. Prototipovi, nasljeđivanje i ekstenzibilnost
2. Closures i scope
3. Obećanja i asinkronost
4. UG framework 
Moderni web: jQuery i Javascript
Zašto danas pričamo o ovome?
Moderni web: jQuery i Javascript
„Sustainable development is like teenage sex - everybody
claims they are doing it but most people aren’t, and those
that are, are doing it very badly”
A lecture slide, originally Chris Spray (Northumbrian Water) in a Design Council piece about sustainability
Prototipovi, nasljeđivanje ekstenzibilnost
prototype , __proto__ , new
Prototipovi, nasljeđivanje i ekstenzibilnost
• Javascript prototipovi su obični objekti
– Može ih se modificirati i proširivati
– Objekt može imati samo jedan prototip
– Prototip može imati svoj prototip
– Sve u Javascriptu ima prototip, osim primitivnih vrijednosti
– Bazni prototip svakog objekta je Object
• Dostupni preko ime_objekta.prototype
Prototipovi, nasljeđivanje i ekstenzibilnost
function Mammal(name) {
this.name = name;
this.offspring = [];
};
Mammal.prototype.haveABaby = function() { };
Cat.prototype = new Mammal();
Cat.prototype.constructor = Cat;
var macka = new Cat('Felix');
macka.haveABaby();
Prototipovi, nasljeđivanje i ekstenzibilnost
• Ključna riječ new
– Ako se new nalazi prije poziva funkcije, funkcija se poziva u kontekstu
konstruktora
– Poziv funkcije kao konstruktora uzrokuje
1. Stvaranje praznog Object
2. Interni property objekta (__proto__) pokazuje na prototype funkcije
3. Poziva se funkcija, a this se postavlja na kreirani prazni objekt
4. Objekt se vraća
var macka = new Cat('Felix');
macka.haveABaby();
Prototipovi, nasljeđivanje i ekstenzibilnost
function Mammal(name) {
this.name = name;
this.offspring = [];
};
Mammal.prototype.haveABaby = function() { };
Mammal.prototype.isOnFire = false;
Mammal.prototype.setOnFire = function() { };
Mammal.methods = Mammal.prototype;
// Ekstenzija prototipa
Mammal.methods.setOnIce = function() { };
Closures i scope
Muke po this-u
Closures i scope
• Funkcije u Javascript-
u pružaju scope
• Objekti ne pružaju
scope, ali ključna riječ
this pokazuje na
najbliži objekt
• Privatne stvari moraju
biti unutar funkcije
– Wrapping
scope
Funkcija
Obećanja i asinkronost
resolve, rejected, always, then
Obećanja i asinkronost
• U slučaju zahtjevne ili dugotrajne operacije, ne blokiraju daljnje
izvršavanje skripte
• Funkcija koja koristi promise i vraća promise
• Na promise registriramo callback-ove
.reject() .resolve() .always()
var promise = $.Deferred();
UG Framework
Demo time
Hvala na pažnji!
Pozdrav!

Weitere ähnliche Inhalte

Andere mochten auch (8)

Mga yugto ng pagunlad ng sinaunang tao. (Paleolitiko,Meso,Neo at Metal)
Mga yugto ng pagunlad ng sinaunang tao. (Paleolitiko,Meso,Neo at Metal)Mga yugto ng pagunlad ng sinaunang tao. (Paleolitiko,Meso,Neo at Metal)
Mga yugto ng pagunlad ng sinaunang tao. (Paleolitiko,Meso,Neo at Metal)
 
Pk all india radio PPT
Pk all india radio PPTPk all india radio PPT
Pk all india radio PPT
 
Modyul6 : Karapatan at Tungkulin
Modyul6 : Karapatan at TungkulinModyul6 : Karapatan at Tungkulin
Modyul6 : Karapatan at Tungkulin
 
Macedonia
MacedoniaMacedonia
Macedonia
 
Emperador ng rome
Emperador ng romeEmperador ng rome
Emperador ng rome
 
Modyul8 pakikilahokatbolunterismo
Modyul8 pakikilahokatbolunterismoModyul8 pakikilahokatbolunterismo
Modyul8 pakikilahokatbolunterismo
 
Masasamang emperador ng rome
Masasamang emperador ng romeMasasamang emperador ng rome
Masasamang emperador ng rome
 
الشبكات الاجتماعية في رمضان
الشبكات الاجتماعية في رمضانالشبكات الاجتماعية في رمضان
الشبكات الاجتماعية في رمضان
 

Javascript

  • 1. Going deep: Javascript i jQuery Antonio Pavlinović
  • 3. Plan za danas 1. Uvodna riječ 2. Moderni web: jQuery i Javascript Motivacija za današnje predavanje 3. Osnova svakog frameworka i kako to jQuery radi? 1. Prototipovi, nasljeđivanje i ekstenzibilnost 2. Closures i scope 3. Obećanja i asinkronost 4. UG framework 
  • 4. Moderni web: jQuery i Javascript Zašto danas pričamo o ovome?
  • 5. Moderni web: jQuery i Javascript „Sustainable development is like teenage sex - everybody claims they are doing it but most people aren’t, and those that are, are doing it very badly” A lecture slide, originally Chris Spray (Northumbrian Water) in a Design Council piece about sustainability
  • 7. Prototipovi, nasljeđivanje i ekstenzibilnost • Javascript prototipovi su obični objekti – Može ih se modificirati i proširivati – Objekt može imati samo jedan prototip – Prototip može imati svoj prototip – Sve u Javascriptu ima prototip, osim primitivnih vrijednosti – Bazni prototip svakog objekta je Object • Dostupni preko ime_objekta.prototype
  • 8. Prototipovi, nasljeđivanje i ekstenzibilnost function Mammal(name) { this.name = name; this.offspring = []; }; Mammal.prototype.haveABaby = function() { }; Cat.prototype = new Mammal(); Cat.prototype.constructor = Cat; var macka = new Cat('Felix'); macka.haveABaby();
  • 9. Prototipovi, nasljeđivanje i ekstenzibilnost • Ključna riječ new – Ako se new nalazi prije poziva funkcije, funkcija se poziva u kontekstu konstruktora – Poziv funkcije kao konstruktora uzrokuje 1. Stvaranje praznog Object 2. Interni property objekta (__proto__) pokazuje na prototype funkcije 3. Poziva se funkcija, a this se postavlja na kreirani prazni objekt 4. Objekt se vraća var macka = new Cat('Felix'); macka.haveABaby();
  • 10. Prototipovi, nasljeđivanje i ekstenzibilnost function Mammal(name) { this.name = name; this.offspring = []; }; Mammal.prototype.haveABaby = function() { }; Mammal.prototype.isOnFire = false; Mammal.prototype.setOnFire = function() { }; Mammal.methods = Mammal.prototype; // Ekstenzija prototipa Mammal.methods.setOnIce = function() { };
  • 12. Closures i scope • Funkcije u Javascript- u pružaju scope • Objekti ne pružaju scope, ali ključna riječ this pokazuje na najbliži objekt • Privatne stvari moraju biti unutar funkcije – Wrapping scope Funkcija
  • 13. Obećanja i asinkronost resolve, rejected, always, then
  • 14. Obećanja i asinkronost • U slučaju zahtjevne ili dugotrajne operacije, ne blokiraju daljnje izvršavanje skripte • Funkcija koja koristi promise i vraća promise • Na promise registriramo callback-ove .reject() .resolve() .always() var promise = $.Deferred();