פרק 1: הבסיס

 

 

 

מהי JavaScript ?

 

JavaScript היא שפת תיכנות מונחית עצמים, קלה וקטנה (באופן יחסי ל-JAVA, וגם לשפות אחרות).

JavaScript כוללת אובייקטים שהוגדרו מראש כחלק מהשפה (כגון: Array, Data ו- Math), אופרטורים, משפטי בקרה וסוגים שונים של משפטים (פקודות) שניתן לכתוב.

 

קיימות שתי הרחבות בולטות ל-JavaScript .

 

הרחבה אחת מיועדת לסייע בכתיבת תכניות JavaScript בצד של הלקוח (המחשב שבו פועל הדפדפן). הרחבה זו כוללת, בעיקר, אובייקטים שמאפשרים לשלוט בפעולתו של הדפדפן. כך למשל, כוללת הרחבה זו את האפשרות לטפל ב-events שנוצרים במחשב הלקוח כתוצאה מלחיצה על העכבר או על מקשים שונים במקלדת.

 

הרחבה שניה מיועדת לסייע בכתיבת תכניות JavaScript בצד של השרת (המחשב שבו מאוחסן האתר). הרחבה זו כוללת בעיקר אובייקטים שמשמשים ומסייעים להרצת תכניות JavaScript על מחשב השרת. כך למשל, הרחבה זו מאפשרת לאפליקציה שרצה על מחשב השרת לתקשר עם בסיסי נתונים, ולשמור נתונים לקבצים.

 

באמצעות JavaScript ניתן לייצור אפליקציות שיפעלו ברשת האינטרנט, בין אם על המחשב שמשמש בתור שרת, ובין אם על המחשב שבו מופעל הדפדפן. באמצעות שפה זו ניתן לייצור דפי HTML דינמיים שתכנם משתנה ומתעדכן באופן דינמי ובאופן אינטראקטיבי (עם הגולש). ניתן להיעזר בשפה זו כדי לייצור דפי HTML שקולטים נתונים מהמשתמש, מעבדים אותם ומספקים פלט מתאים תוך שהם משתמשים בבסיסי נתונים וקבצים.

 

באמצעות LiveConnect, יישומונים ב-JAVA (applets) ותכניות שכתובות ב-JavaScript יכולים לתקשר האחד עם השני: יישומון ב-JAVA יכול לגשת לאובייקט שקיים בתכנית ה-JavaScript, להפעיל עליו מתודות ולגשת למשתניו השונים. תכנית שכתובה ב-JavaScript יכולה לגשת לאובייקט שקיים ביישומון שכתוב ב-JAVA ולהפעיל עליו מתודות או לחילופין לגשת לערכי המשתנים שלו (ובלבד שהרשאת הגישה היא public). 

 

JavaScript מפותחת ונתמכת באופן מלא על ידי הדפדפן Netscap Navigato. הדפדפן Internet Explorer תומך ב-Jscript (הגרסא של Microsoft ל-JavaScript). Jscript ו- JavaScript אינן זהות.

 

 

JavaScript לעומת Java

 

בין שתי השפות קיים דמיון רב. כללי התחביר דומים, ורוב משפטי הבקרה שקיימים ב-Java קיימים גם ב- JavaScript. עם זאת, קיימים מספר הבדלים בולטים בין שתי השפות.

 

ההבדל הגדול ביותר בין שתי השפות הוא שב-JAVA יש צורך להדר את התכנית לפני שמריצים אותה, וב-JavaScript לא. לאחר שכותבים תכנית ב-JavaScript ניתן להריצה באופן מיידי. את תכניות ה-JavaScript כותבים כחלק ממסמך ה- HTML(או כמסמך טקסט נוסף שמקושר למסמך ה-HTML), והן מתבצעות באופן אוטומאטי על ידי הדפדפן כאשר הוא מעלה את המסמך.

 

ב-JavaScript אין כללי תחביר נוקשים (כמו ב-Java). בכל הנוגע ל- משתנים, מחלקות ומתודות - לא תמיד חייבים להגדירם. כמו כן, ב-JavaScript לא קיימות הרשאות הגישה public, private ו-protected ואין צורך לציין במפורש את טיפוס הערך שמוחזר על ידי מתודה שמגדירים.

 

ב-JavaScript ניתן להוסיף תכונות ומתודות לאובייקטים באופן דינמי בזמן ריצת התכנית. ב-Java , לעומת זאת, יש לקבוע את התכונות והמתודות בשלב שלפני ביצוע ההידור.

 

ב-JavaScript ניתן לייצור אובייקט שיורש מאובייקט אחר מבלי להיות נתון למגבלות בביצוע הורשה ב-Java. בעוד שב-Java אובייקט יכול לרשת מאובייקט אחר ובלבד שמדובר במחלקות שנמצאות אחת מעל השניה בהיררכית המחלקות, ב-JavaScrpt מגבלה זו לא קיימת. כל אובייקט יכול לרשת מכל אובייקט אחר.

 

בעוד שישומון שכתוב ב-Java מופעל מתוך דף HTML באמצעות התגית <APPLET>, אשר קוראת להפעלתו מתוך קובץ אחר, ב-JavaScript שורות הקוד נכתבות במסמך ה-HTML עצמו או במסמך טקסט אחר.

 

בעוד שב-Java יש להגדיר את הטיפוס של כל משתנה שמשתמשים בו מראש, ב-JavaScript אין בכך צורך.

 

אם Java מוכרת לך, תוכל/י בהמשך תהליך למידת השפה JavaScript להבחין בהבדלים נוספים בין שתי השפות.

 

 

 

התכנית הראשונה ב-JavaScript

 

כבכל ספר לימוד של שפת תכנות,  גם בספר זה נתחיל בתכנית המוכרת שמדפיסה על המסך Hello Israel  (כיוון שאנחנו פטריוטים).

כדי לכתוב תכנית ב- JavaScript יש צורך בעורך טקסט (TextPad, NotePad או אפילו תכנית ה-edit המוכרת אשר פועלת בסביבת DOS) ובדפדפן שיוכל להציג את תוצאות ריצתה של התכנית. אני ממליץ בחום להשתמש בדפדפן מגרסה אחרונה. התכניות בספר זה נבדקו באמצעות הדפדפן Internet Explorer 5.0.

 

שלב ראשון:

הפעל את עורך הטקסט שברשותך, והעתק למסמך חדש את תכנית ה-JavaScript הבאה, אשר משולבת בתוך מסמך HTML.

<!-- file name : HelloIsrael.html -->

<!-- 2000(c) Zindell Publishing House Ltd. -->

 

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

 

<HTML>

 

  <HEAD>

    <TITLE>HelloIsrael.html</TITLE>

    <SCRIPT LANGUAGE="JavaScript1.2">

                      <!--

                      document.write("Hello Israel");

                     // -->

                </SCRIPT>   

  </HEAD>

 

  <BODY>

  </BODY>

 

</HTML>

 

 

שלב שני:

שמור את המסמך (הקובץ) שיצרת תחת שם שהסיומת שלו היא html.

 

 

שלב שלישי:

הפעל את הדפדפן שברשותך והעלה את הקובץ שיצרת לצפייה. דרך פשוטה לעשות זאת תהיה באמצעות לחיצה כפולה על העכבר כאשר הוא מצביע על שם הקובץ.

 

כדאי לשים לב,כבר עתה, לכך שאת פקודות ה-JavaScript יש לשלב בין התגיות <SCRIPT> ו- </SCRIPT>. כמו כן, כדאי גם לשים לב לתכונה LANGUAGE שמוספת אל תוך התגית <SCRIPT>. באמצעות תכונה זו מעדכנים את הדפדפן בנוגע לשפת ה-script שפקודותיה מופיעות בין שתי התגיות. JavaScript איננה שפת הסקריפט היחידה שקיימת. קיימות שפות סקריפט נוספות, כגון: VBScript. כמו כן, כיוון שיש לעדכן את הדפדפן בדבר הגירסה של שפת הסקריפט שבה הפקודות כתובות, כותבים גם את הגרסה שבה שפת הסקריפט כתובה.

 

את מרכיב ה-script בתכנית נהוג למקם בתוך מרכיב הראש (בין התגיות <HEAD> ו- </HEAD>) מכיוון שמרכיב הראש מועלה על ידי הדפדפן לפני מרכיב הגוף. את הפקודות שכתובות ב- JavaScript כדאי למקם בתוך סימני ההערה המקובלים ב-HTML כדי שאם הדפדפן שבו מסמך ה-HTML מוצג איננו תומך ב-JavaScript, הפקודות לא תוצגנה כטקסט פשוט על המסך. בהמשך הספר יינתנו הסברים נוספים בנוגע לאופן כתיבתן של תכניות ב-JavaScript כחלק ממסמך HTML. בהצבת סימני הערה (בסגנון HTML) סביב הפקודות שכתובות ב-JavaScript, יש לשים לפני הסימן של סוף ההערה את סימני ההערה המקובלים ב-JavaScript: // .

 

התכנית הפשוטה שמדפיסה על המסך Hello Israel מבצעת את פעולת ההדפסה באמצעות הפעלת המתודה write על האובייקט document. האובייקט document קיים באופן אוטומטי (הוא חלק מן השפה), כך שבכל תכנית ב-JavaScript ניתן להשתמש בו, ולהפעיל עליו מתודות השונות (כגון המתודה write).

 

 

כתיבת הערות בגוף התכנית

 

הערות בגוף התכנית הן משפטי הסבר שמוסיפים לתכנית כדי להסביר את פעולתה. כאשר המחשב מריץ את התכנית הוא מתעלם מהן, ולא מהדר אותן. JavaScript תומכת בכתיבת הערות בסיגנון שמקובל בשפות JAVA ו- C\C++.

בתוך תכנית שכתובה ב-JavaScript ניתן לשלב הערות משני סוגים:

הערות, שמתפרשות על שורה אחת. הערות אלה מתחילות בסימן //.

לדוגמא:

//A single-line comment

הערות, שמתפרשות על יותר משורה אחת. הערות אלה מסומנות בתחילתן בסימן  */  ובסופן  בסימן  /*,  והן יכולות להתפרש על יותר משורה אחת.

לדוגמא:

/* A multipe-line comment

    can be of any number of lines */

 

 

תרגילים

 

1.       כתוב/כתבי תכנית ב-JavaScript אשר מדפיסה על המסך (באמצעות האובייקט document) את ציפיותיך מלימוד השפה.

2.       כתוב/כתבי תכנית ב-JavaScript אשר מדפיסה על המסך (באמצעות האובייקט document) את סיכום ההבדלים בין Java ל- JavaScript.

 

 

 

 

 

 

2000 © All the rights reserved to Haim Michael & Zindell Publishing House Ltd.

 

No parts of the contents of this paper may be reproduced or transmitted in any form by any means

without the written permission of the publisher !  This book can be used for personal use only !!!

 

 

Brought to you by Zindell 

(http://www.zindell.com)

 

 

 

 

 

 

לנוחיותך, להלן תוכן העניינים של הספר:

 

פרק 1 : הבסיס
פרק 2 : ערכים בסיסיים
פרק 3 : אופרטורים
פרק 4 : משפטי בקרה ולולאות
פרק 5 : פונקציות
פרק 6 : אובייקטים
פרק 7 : אובייקטים מובנים בשפה
פרק 8 : אופן פעולת האובייקטים
פרק 9 : תבניות טקסט
פרק 10 : שילוב של JavaScript ו- HTML
פרק 11 : טיפול באירועים
פרק 12 : האובייקטים שנוצרים בדפדפן
פרק 13 : האובייקט Navigator
פרק 14 : האובייקט Window
פרק 15 : האובייקט Document
פרק 16 : האובייקט Location
פרק 17 : האובייקט History
פרק 18 : יצירת cookies
פרק 19 : האובייקטים Link ו- Anchor
פרק 20 : האובייקט Image
פרק 21 : יצירת Image Map
פרק 22 : האובייקט Form
פרק 23 : טכנולוגית ה- LiveConnect