פרק 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)
לנוחיותך, להלן תוכן
העניינים של הספר: