js devmeeting

60

Upload: erik-alternet

Post on 14-Jul-2015

57 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Js devmeeting

Javascript

Interpreted programming language

Dynamically typed language

Prototype based

1995 Brendan Eich, Netscape

Syntax gebasseerd op C

Java?

1996 EC1996 ECMA

Page 2: Js devmeeting

Javascript Datatypes

Dynamically typed language

Wanneer nodig geconverteerd

Geen error melding

Page 3: Js devmeeting

Javascript Datatypes

6 standaard datatypes

Number

String

Boolean

Null

Undened

OObject

Page 4: Js devmeeting

Javascript Datatypes - Number

Nummers, nummers en nog eens nummers

1 / 12 / 20000 / 23.5 / 12E3

ECMA: 1 Number type: double-precision 64-bit binary format IEEE 754 value

Geen specieke type voor integers

Dus integer, oat, NaN

Bitshiting / Bitmasking

Page 5: Js devmeeting

Javascript Datatypes - String

“Hello, i like to cut my cheese in equal parts before consuming”

Page 6: Js devmeeting

Javascript Datatypes - String

Page 7: Js devmeeting

Javascript Datatypes - String

Page 8: Js devmeeting

Javascript Datatypes - String

Page 9: Js devmeeting

Javascript Datatypes - Boolean

true of false

Waar of niet waar :)

Page 10: Js devmeeting

Javascript Datatypes - Boolean

true of false

Waar of niet waar :)

Page 11: Js devmeeting

Javascript Datatypes - Null

niks, noppes, nada

Meestal expliciet toegewezen

Page 12: Js devmeeting

Javascript Datatypes - Undened

eigenlijk self explaining

Page 13: Js devmeeting

Javascript Datatypes - Object

Een bak eigenschappen (properties)

Object literal syntax

Key / Value

Add / remove properties

Standaard ingebouwde objecten

Page 14: Js devmeeting

Javascript Datatypes - Object

Page 15: Js devmeeting

Javascript Datatypes - Object

Een mapping van keys & values

Dot notation & Bracket notation

Key == String value kan alles zijn

Page 16: Js devmeeting

Javascript Datatypes - Object

Page 17: Js devmeeting

Javascript Datatypes - Object: function

inderdaad, een object

Aanroepbaar

Prototype / constructor

Prex new

anonymous functions

Self invoking functions

named funnamed functions

Parameters

Return value

Page 18: Js devmeeting

Javascript Datatypes - Object: function

Self-invoking function

Page 19: Js devmeeting

Javascript Datatypes - Object: function

Self-invoking function

Page 20: Js devmeeting

Javascript Datatypes - Object: function

Named function

Page 21: Js devmeeting

Javascript Datatypes - Object: function

Named function

Page 22: Js devmeeting

Javascript Datatypes - Object: function

Named function

Page 23: Js devmeeting

Javascript Datatypes - Object: function

Anonymous functions

Page 24: Js devmeeting

Javascript Datatypes - Object: function

Named function returning anonymous function

Page 25: Js devmeeting

Javascript Datatypes - Object: array

Inderdaad, het is een object

Inherit van Array.prototype

key’s zijn numeriek

value: number, string, object etc

length property!!

Veel methods

Page 26: Js devmeeting

Javascript Datatypes - Object: array

Page 27: Js devmeeting

Javascript Datatypes - Object: array

Page 28: Js devmeeting

Javascript Datatypes - Object: array

Page 29: Js devmeeting

Javascript Datatypes - Object: array

Page 30: Js devmeeting

Javascript Datatypes - Object: array

Page 31: Js devmeeting

Javascript Datatypes - Object: array

Page 32: Js devmeeting

Javascript Datatypes - Object: array

Math

Date

RegExp

etc..

Page 33: Js devmeeting

jQuery

Javascript Framework

Honderd miljoen miljard plugins

Het zoeken naar elementen in de DOM

Ajax

Realtime content modiceren

Selector engine zoek van rechts naar links

EEen class kan op elk element in je html pagina

ID is (als het goed is ;) ) uniek

De snelste manier ID > Tag > Class > Attribute > Pseudo selector

Page 34: Js devmeeting

jQuery

Page 35: Js devmeeting

jQuery

Page 36: Js devmeeting

jQuery - gebruik .nd()

CSS selectors, querySelector, Javascript based Selector engines

werken van rechts naar links

Page 37: Js devmeeting

jQuery - cache je DOM selectors

Page 38: Js devmeeting

jQuery - prex $ voor je variabele naam

Page 39: Js devmeeting

jQuery - prex $ voor je variabele naam

Page 40: Js devmeeting

jQuery - .html() vs .text()

Page 41: Js devmeeting

jQuery - .data()

Page 42: Js devmeeting

jQuery - Vind het volgende Element

Page 43: Js devmeeting

jQuery - Vind het volgende Element

Page 44: Js devmeeting

jQuery - Animate()

Page 45: Js devmeeting

jQuery - gebruik object literals

Page 46: Js devmeeting

jQuery - Events

Page 47: Js devmeeting

jQuery - Events

on() the rescue!

on() to the rescue!!

En off() , trigger() & one()

on() to the rescue!!!

Page 48: Js devmeeting

jQuery - Events

Waarom??

Page 49: Js devmeeting

jQuery - Events

Waarom??

Page 50: Js devmeeting

jQuery - Events

Page 51: Js devmeeting

jQuery - Events

Page 52: Js devmeeting

jQuery - Events

Page 53: Js devmeeting

jQuery - Event Delegation

Performance!

memory leak :(

Event handler context

Page 54: Js devmeeting

jQuery - each, foreach, for

Performance!

memory leak :(

Event handler context

Page 55: Js devmeeting

jQuery - .post(), .get(), .ajax()

Performance!

memory leak :(

Event handler context

Page 56: Js devmeeting

jQuery - .post(), .get(), .ajax()

Performance!

memory leak :(

Event handler context

Page 57: Js devmeeting

Javascript OOP

Geen classes

Prototype

Constructor

new

Object Literal

Page 58: Js devmeeting

Javascript OOP

Geen classes

Prototype

Constructor

new

Object Literal

Page 59: Js devmeeting

Javascript OOP

Geen classes

Prototype

Constructor

new

Object Literal

Page 60: Js devmeeting

Javascript OOP

Geen classes

Prototype

Constructor

new

Object Literal