JavaScript - korzenie



Podobne dokumenty
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

ZAPYTANIE OFERTOWE. Ilość godzin szkoleniowych

JavaScript funkcyjność

Szkolenie wycofane z oferty. Programowanie w JavaScript (zawiera jquery)

Inne podejścia obiektowe. Referat na seminarium magisterskie Zagadnienia Programowania Obiektowego Dymitr Pszenicyn

Programowanie obiektowe

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Programowanie 2. Język C++. Wykład 3.

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Technologie obiektowe

PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2

Programowanie obiektowe

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Programowanie obiektowe

Programowanie obiektowe

Programowanie obiektowe

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Scenariusz Web Design DHTML na 10 sesji. - Strony statyczne I dynamiczne. - Dodawanie kodu VBScript do strony HTML. Rysunek nie jest potrzebny

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Podstawy programowania obiektowego

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Kurs WWW. Paweł Rajba.

Redis, skrypty w języku Lua

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Technologie i usługi internetowe cz. 2

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Dziedziczenie. dr Jarosław Skaruz

Programowanie obiektowe

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Wykład 8: klasy cz. 4

PHP: bloki kodu, tablice, obiekty i formularze

Scala - programowanie obiektowo-funkcyjne

10. Programowanie obiektowe w PHP5

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Tworzenie Stron Internetowych. odcinek 10

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

Zaawansowane programowanie w języku C++ Klasy w C++

Podstawy Programowania Obiektowego

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Oracle PL/SQL. Paweł Rajba.

Wykład 5: Klasy cz. 3

Wykład 4: Klasy i Metody

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Programowanie obiektowe

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca Norbert Potocki db4o

Funkcje i instrukcje języka JavaScript

Dziedziczenie. Tomasz Borzyszkowski

1 Atrybuty i metody klasowe

Klasy abstrakcyjne, interfejsy i polimorfizm

PARADYGMATY PROGRAMOWANIA Wykład 4

Podstawy programowania obiektowego

Wstęp do Programowania 2

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Języki i techniki programowania Ćwiczenia 2

HTML, Javascript, CSS oraz Bootstrap

Programowanie obiektowe

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Interfejsy i klasy wewnętrzne

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

OBIEKTY PHP. G. Panuś

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

Zaawansowane programowanie w C++ (PCP)

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Podstawy programowania III

Rozdział 4 KLASY, OBIEKTY, METODY

Test przykładowy 2 PAI WSB Wrocław /06/2018

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

TEMAT : KLASY DZIEDZICZENIE

Programowanie obiektowe - 1.

Definiowanie własnych klas

Szablony funkcji i szablony klas

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Podstawy programowania. Wykład PASCAL. Wstęp do programowania obiektowego. dr Artur Bartoszewski - Podstawy programowania, sem.

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

JS:Obiekty, tablice, JSON

Programowanie obiektowe

Definicje klas i obiektów. Tomasz Borzyszkowski

KOTLIN. Język programowania dla Androida

Wprowadzenie do programowania

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Programowanie Obiektowe i C++

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

Materiały do zajęć VII

JavaScript. Wstęp do podstaw elementów. dr inż. Paweł Boiński, Politechnika Poznańska

Zaawansowane programowanie w języku C++

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

Programowanie obiektowe

Transkrypt:

JavaScript - korzenie Dowiesz się o historii JavaScript, jego dialektach i wersjach. Poznasz złe i dobre strony języka, a gdy zaskoczy Cię działanie któregoś z jego elementów, będziesz wiedział, gdzie szukać rozwiązania. Z łatwością rozróżnisz JavaSctipt od JScript, usłyszysz też o implementacji JavaScript w nowoczesnych przeglądarkach i na urządzeniach mobilnych. Całość doprawią informacje o kompresji i dołączaniu JS do Twoich stron. - standard ECMA - 0.1 + 0.2!== 0.3 czyli dobre i złe strony ECMA, - przeszłość i przyszłość języka - JScript - JavaScript 1.5 - JavaScript 2.0 - słowo o przeglądarkach - ładowanie JavaScript - model tradycyjny, asynchronous loading, lazy loading - kompresja kodu - GZIP, packer, obfuscicating Zaawansowane podstawy Podstawy JavaScript w nieco innym ujęciu. Na tacy podane tylko i wyłącznie przydatne, i specyficzne dla JS podstawowe elementy języka. Przeanalizujemy krok po kroku struktury, bez których zaawansowany programista JavaScript nie może się obejść. Porozmawiamy też na temat złych praktyk. - jak pisaliśmy JavaScript - dobre i złe strony - zmienne i typy - typeof - boolean, number, string, object - undefined - null - NaN

- Infinity - operatory - tablice - funkcje - pętle i warunki - wyrażenia regularne - falsy values - == versus === - słowo o operatorach bitowych Garbage collector Obiektowość w JavaScript JavaScript językiem obiektowym, tylko wspierającym obiektowość, czy jedną wielką haszmapą? Przyjrzymy się modelowi obiektowemu w JavaScript od podszewki, rozwiązując i analizując, jak zwykle, jak najwięcej zadań. Prototype chaining od teraz bez tajemnic! - obiektowość w JavaScript - wszystko (prawie) jest obiektem! - object literals - funkcje jako konstruktory -.constructor -.prototype - badanie obiektów - tostring() - instanceof - operator delete - obiekty wbudowane Scope

Czyli kiedy i gdzie widoczne są zmienne. Closures Kiedy się o nim mówi, wzbudza wśród developerów gęsią skórkę. Niepotrzebnie. Mechanizm closures to łatwa i niezwykle użyteczna metoda obrony przed niedoskonałościami języka, co postaram się udowodnić. this "this" czyli obiekt versus kontekst? Omówię dokładnie wszelkie zastosowania tego wyrażenia, zmierzymy się z jego definicją i przeanalizujemy konteksty, w ramach których definiujemy obiekty i funkcje. Funkcje jako obiekty Funkcje w JavaScript zachowują się także jak obiekty dowiesz się jak w pełni wykorzystać ten fakt. - obiekt Function - deklaracja deklaracji nierówna - funkcje anonimowe - funkcje wywoływane automatycznie - new fn - arguments i obiekty array-like - fn.length - funkcje call i apply - ciekawe zastosowania return Tablice

Tablice czyli kiedy zawodzą tradycyjne metody zaczerpnięte z innych języków programowania. Dowiesz się, jak optymalnie manipulować tablicami w JS, poznasz też najprzydatniejsze funkcje, a wszystko po to, by Twój kod był jak najbardziej wydajny. Prędkość ma znaczenie! - brak typu "array" - tablice asocjacyjne - new Array(100) - usuwanie elementów tablicy - kopiowanie tablic - mergowanie tablic - foreach - maksymalna i minimalna wartość w tablicy Klasyczna obiektowość w JavaScript JavaScript nie jest i nigdy nie był językiem z klasycznym modelem obiektowym. Brak słówek takich jak public i private, tradycyjnego dziedziczenia i wielu innych szczegółów sprawia, że aby uzyskać efekty znane z innych języków, należy wykazać się pomysłowością lub pójść na skróty. Zrobimy to i przy okazji przedyskutujemy, czy na pewno jest to w JS potrzebne! - własności publiczne - własności prywatne - własności uprzywilejowane - dziedziczenie prototypowe - dziedziczenie funkcyjne - abstrakcja klas - przeładowanie metod - wybrane wzorce projektowe - namespacing - JS a inne języki Eval

With - fakty i mity Callbacki Timery - definicja - while(true) - setinterval - settimeout - wydajność i pomiary dokładności bind() currying chaining - piszemy bibliotekę podobną do jquery Optymalizacja Jako język skryptowy, JS jak żaden inny prosi się o rozsądne techniki optymalizacyjne. Dowiesz się, jak uzyskać najszybszy kod, poznając od podstaw

zachowanie kluczowych wyrażeń języka i wiele ciekawostek, które z reguły są pomijane przy budowie aplikacji. - środowisko ma znaczenie - pętle for i while - eval - memoization - funkcje a zmienne - zmienne prywatne a składowe obiektów - scope chaining - yielding Dziwolągi i ciekawostki - operator "+" - operator "++" - undefined jako zmienna - 0.1 + 0.2 =? - co chowa się w arguments? - NaN i isnan - wyrażenie ~~ - new Boolean(false) - for in - "in" - "" + {} - isfunction() DOM - wprowadzenie - najważniejsze cechy - zastosowanie

- wycieki pamięci Debugowanie - Firebug - JSLint -dynatrace AJAX Inspiracje - projekty - blogerzy - strony - narzędzia