Javascript

87
שישה ימים עםאווהסקריפט גTuesday, October 16, 12

description

מצגת מלווה למדריך המקוון שישה ימים עם ג'אווהסקריפט. לפרטים: http://mobileweb.ynonperek.com

Transcript of Javascript

Page 1: Javascript

שישה ימים עם ג’אווהסקריפט

Tuesday, October 16, 12

Page 2: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS

Tuesday, October 16, 12

Page 3: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS JS Events

Tuesday, October 16, 12

Page 4: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS JS Events Data

Tuesday, October 16, 12

Page 5: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS JS Events Data

Functions

Tuesday, October 16, 12

Page 6: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS JS Events Data

Functions OO JS

Tuesday, October 16, 12

Page 7: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS JS Events Data

Functions OO JS Pro JS

Tuesday, October 16, 12

Page 9: Javascript

על השפה

Tuesday, October 16, 12

Page 10: Javascript

על השפה

“We envisioned a much livelier Web consisting of pages that acted more like applications”

Tuesday, October 16, 12

Page 11: Javascript

צד לקוח

Tuesday, October 16, 12

Page 21: Javascript

DOM :עבודהשיטת

Div

HTMLDivElement

HTML

JavaScript

Tuesday, October 16, 12

Page 22: Javascript

DOM Code

באמצעות משתנים ,HTML המחוברים ל

אנו יכולים לשלוט במה שקורה על

המסך

<p id="text">Hello JavaScript</p>

var p = document.querySelector('p#text');

Tuesday, October 16, 12

Page 23: Javascript

DOM Code

באמצעות משתנים ,HTML המחוברים ל

אנו יכולים לשלוט במה שקורה על

המסך

<p id="text">Hello JavaScript</p>

var p = document.querySelector('p#text');

Tuesday, October 16, 12

Page 25: Javascript

JS בצבע שינוי

var p = document.querySelector('p#text');p.style.color = 'white';

Tuesday, October 16, 12

Page 26: Javascript

שינוי צבע לפי שעהvar         p  = document.querySelector('p#text');p.style.color  = 'white'; var now = new Date();if ( now.getMinutes() > 10 ) {        p.style.background = 'green';} else {        p.style.background = 'red';}

Tuesday, October 16, 12

Page 28: Javascript

שישה ימים עם ג’אווהסקריפט

Tuesday, October 16, 12

Page 29: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS

Tuesday, October 16, 12

Page 30: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS JS Events

Tuesday, October 16, 12

Page 31: Javascript

[email protected]

http://mobileweb.ynonperek.com

לכל שאלה...

Tuesday, October 16, 12

Page 32: Javascript

טיפול באירועים

Tuesday, October 16, 12

Page 33: Javascript

טיפול באירועים

Click

Event Queue

Tuesday, October 16, 12

Page 34: Javascript

Main Loop

ממתין לאירוע

מטפל באירוע

Tuesday, October 16, 12

Page 35: Javascript

Main Loop

ממתין לאירוע

מטפל באירוע

Tuesday, October 16, 12

Page 36: Javascript

Main Loop

ממתין לאירוע

מטפל באירוע

Tuesday, October 16, 12

Page 37: Javascript

Event Handlers

Tuesday, October 16, 12

Page 38: Javascript

Event Handlers

Html Element

Tuesday, October 16, 12

Page 39: Javascript

Event Handlers

Html Element

Event

Tuesday, October 16, 12

Page 40: Javascript

Event Handlers

Html Element

Event

Code

Tuesday, October 16, 12

Page 41: Javascript

Event Handlers

Html Element

Event

Code

el.addEventListener

Tuesday, October 16, 12

Page 42: Javascript

Event Handlers

Html Element

Event

Code

Event Handler

el.addEventListener

Tuesday, October 16, 12

Page 43: Javascript

סוגי אירועים

click change

dblclick blur

submit keypress

רשימה מלאה:http://www.tutorialspoint.com/html5/

html5_events.htm

Tuesday, October 16, 12

Page 45: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS JS Events

Tuesday, October 16, 12

Page 46: Javascript

[email protected]

http://mobileweb.ynonperek.com

לכל שאלה...

Tuesday, October 16, 12

Page 47: Javascript

בעבוע אירועים

img

div

document

Tuesday, October 16, 12

Page 48: Javascript

בעבוע אירועים

img

div

document

targetcurrentTarget

Tuesday, October 16, 12

Page 49: Javascript

בעבוע אירועים

img

div

document

target

currentTarget

Tuesday, October 16, 12

Page 50: Javascript

בעבוע אירועים

img

div

document

target

currentTarget

Tuesday, October 16, 12

Page 51: Javascript

this המשתנה

המשתנה this בתוך קוד טיפול באירוע מתייחס לאלמנט שעליו הופעל האירוע

Tuesday, October 16, 12

Page 54: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS JS Events Data

Tuesday, October 16, 12

Page 55: Javascript

[email protected]

http://mobileweb.ynonperek.com

לכל שאלה...

Tuesday, October 16, 12

Page 56: Javascript

ארגון מידעמערכים

אובייקטים

Tuesday, October 16, 12

Page 57: Javascript

מערכים

מערך הינו רשימה סדורה של ערכים

Tuesday, October 16, 12

Page 58: Javascript

מערכים

מערך הינו רשימה סדורה של ערכים

var arr = [1, 'a', 'b', 2, 7];

Tuesday, October 16, 12

Page 59: Javascript

מערכים

מערך הינו רשימה סדורה של ערכים

1 ‘a’ ‘b’ 2 7

var arr = [1, 'a', 'b', 2, 7];

Tuesday, October 16, 12

Page 60: Javascript

מערכים

פנייה ישירה לאיבר במערך החל מ-0

1 ‘a’ ‘b’ 2 7

arr[2] = ‘d’

Tuesday, October 16, 12

Page 61: Javascript

מערכים

פנייה ישירה לאיבר במערך החל מ-0

1 ‘a’ ‘b’ 2 7

arr[2] = ‘d’

‘d’

Tuesday, October 16, 12

Page 62: Javascript

מתי נשתמש במערכים

רשימת אנשי קשר

רכיבים במתכון

רשימת שירים באלבום

Tuesday, October 16, 12

Page 63: Javascript

אובייקטיםאובייקט מאפשר אחסון ערכים על פי מפתחות

Tuesday, October 16, 12

Page 64: Javascript

אובייקטיםאובייקט מאפשר אחסון ערכים על פי מפתחות

var me = {  name: 'Ynon Perek',  web: 'http://mobileweb.ynonperek.com'};

Tuesday, October 16, 12

Page 65: Javascript

אובייקטיםאובייקט מאפשר אחסון ערכים על פי מפתחות

name Ynon Perek

web http://mobileweb.ynonperek.com

var me = {  name: 'Ynon Perek',  web: 'http://mobileweb.ynonperek.com'};

Tuesday, October 16, 12

Page 66: Javascript

פנייה ישירה

ניתן לבצע פנייה ישירה למפתח באמצעותסוגריים מרובעים או נקודה

me.web = 'http://publicspeakr.blogspot.co.il';

name Ynon Perek

web http://mobileweb.ynonperek.com

me[“web”]='http://publicspeakr.blogspot.co.il';

Tuesday, October 16, 12

Page 67: Javascript

פנייה ישירה

ניתן לבצע פנייה ישירה למפתח באמצעותסוגריים מרובעים או נקודה

me.web = 'http://publicspeakr.blogspot.co.il';

name Ynon Perek

web http://mobileweb.ynonperek.comhttp://publicspeakr.blogspot.co.il

me[“web”]='http://publicspeakr.blogspot.co.il';

Tuesday, October 16, 12

Page 68: Javascript

פעולות נוספות

אפשר לעדכן מפתח לא קיים - ואז הוא יתווסף לאובייקט כמפתח/ערך חדש

הפקודה delete מוחקת מפתח/ערך מאובייקט

Tuesday, October 16, 12

Page 70: Javascript

[email protected]

http://mobileweb.ynonperek.com

JavaScript Templates

Tuesday, October 16, 12

Page 71: Javascript

JavaScript Templates

Tuesday, October 16, 12

Page 72: Javascript

JavaScript Templates

<div class="entry">  <h1>{{name}}</h1>  <span>{{details}}</span></div>

Tuesday, October 16, 12

Page 73: Javascript

JavaScript Templates

<div class="entry">  <h1>{{name}}</h1>  <span>{{details}}</span></div>

{  name: "Jimmy Jones",  details: "A friend of Ghandi"}

Tuesday, October 16, 12

Page 74: Javascript

JavaScript Templates

<div class="entry">  <h1>{{name}}</h1>  <span>{{details}}</span></div>

{  name: "Jimmy Jones",  details: "A friend of Ghandi"}

<div class="entry">  <h1>Jimmy Jones</h1>  <span> A friend of Ghandi </span></div>

+

Tuesday, October 16, 12

Page 75: Javascript

קריאת המשך

http://handlebarsjs.com/

https://github.com/ynonp/6-days-of-javascript

Tuesday, October 16, 12

Page 76: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS JS Events Data

Tuesday, October 16, 12

Page 77: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS JS Events Data

Functions

Tuesday, October 16, 12

Page 78: Javascript

הגדרת פונקציות

var foo = function(x, y) {  return x + y;};

function bar(x, y) {  return x + y;}

Tuesday, October 16, 12

Page 79: Javascript

דוגמאות

Tuesday, October 16, 12

Page 80: Javascript

ארגומנטים var sum = function() {    var sum = 0;     for ( var i=0; i < arguments.length; i++ ) {        sum += arguments[i];    }     return sum;}; console.log(sum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));

Tuesday, October 16, 12

Page 81: Javascript

ארגומנטים

ארגומנט שהועבר בקריאה אבל לא צוין arguments בהגדרה נכנס למערך

ארגומנט שצוין בהגדרה אבל לא הועבר undefined בקריאה מקבל ערך

Tuesday, October 16, 12

Page 82: Javascript

var :משתנים

x

y

z

f1

f2

f3

Tuesday, October 16, 12

Page 83: Javascript

דוגמא: פונקציה המייצרת אובייקט

Tuesday, October 16, 12

Page 84: Javascript

פונקציות בג’אווהסקריפט

לפונקציות יש מקום מאוד מרכזי בשפה

Namespaces & Scoping הן מהוות את הבסיס ל

Object Oriented הן מהוות את הבסיס ל

Tuesday, October 16, 12

Page 85: Javascript

this הפרמטר

לכל פונקציה ניתן להעביר משתנה נוסף this שנקרא

משתנה זה כולל מידע נוסף שהפונקציה יכולה להתייחס אליו

דוגמאות

Tuesday, October 16, 12

Page 87: Javascript

שישה ימים עם ג’אווהסקריפט

Intro To JS JS Events Data

Functions

Tuesday, October 16, 12