Get Adobe Flash player
דף הבית תחביר בסיסי תחביר ד'

 

בשיעור זה נדון בתווים מיוחדים ובמילים שמורות

תווים מיוחדים

הוראות מיוחדות כמו פסקה חדשה, ירידת שורה ועוד מבוצעות ע"י אותיות שהוקצו להוראות אלו. ירידת שורה מתבצעת ע"י האות r. אך מה יגרום לקוד להבין שמדובר בהוראה ולא באות שהיא חלק מהטקסט?

למניעת אי הבנות כאלו, מקדימים לוכסן \ לפני האות.

דוגמא:

אם ברצונך לכתוב את המחרוזת 'חברת תעופה בע"מ, ישראל', אתה עשוי להיקלע לבעיה. התו המגדיר לקוד ב javascript שמדובר במחרוזת הוא ". בדוגמא הנ"ל הקוד עשוי לחשוב שהמחרוזת האי רק 'חברת תעופה בע'. וההמשך אינו אלא שגיאה בכתיבה.

הפתרון לכך יהיה:

document.write("חברת התעופה בע\"מ, ישראל");

ומה יהיה אם נרצה להציג את \ כתו במחרוזת ולא כסימן שמדובר בהוראה? נקדים גם לו את התו \.

דוגמא:

על מנת לכתוב את הכתובת רחוב הפרחים 23\4, נכתוב בקוד: רחוב הפרחים 23\\4

להלן רשימת התווים המיוחדים המשמשים להוראות:

תוצאהקוד
שורה חדשה \n
פסקה חדשה \r
גרש \'
מרכאות \"
ועוד \&
לוכסן \\
טאב \t
תו חזרה (backspace) \b
הזנת טופס \f

מילים שמורות

כמו כל שפת תכנות אחרת, גם JavaScript משתמשת במילים לצורך ביצוע הוראות המתכנת. המילה function למשל, מהווה עבור השפה הוראה לייצור פונקציה, ומכייון שכך, שימוש במילה הזו כשם של משתנה למשל, עשוי ליצור בעיות בפירוש ההוראה ובביצועה.

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

לפניכם טבלת המילים השמורות של JavaScript:

abstract delete InnerWidth Packages status
alert do Instaceof pageXOffset statusbar
arguments document int pageYoffset stop
Array double interface parent String
blur else isFinite parseFloat super
boolean enum isNaN parseInt switch
Boolean escape java personalbar synchronized
break eval length print this
byte export location private throw
callee extends locationbar prompt throws
caller final long protected toolbar
captureEvents finally Math prototype top
case find menubar public toString
catch float moveBy RegExp transient
char focus moveTo releaseEvents try
class for name resizeBy typeof
clearInterval frames NaN resizeTo unescape
clearTimeout Function native return unwatch
close function netscape routeEvent valueOf
closed goto new scroll var
confirm history null scrollbars void
const home Number scrollBy watch
constructor if Object scrollTo while
continue implements open self window
Date import opener setInterval with
debugger in outerHeight setTimeout FALSE
default Infinity OuterWidth Short TRUE
defaultStatus innerHeight package static

 שימוש ברווחים

שפת JavaScript מתעלמת מרווחים מיותרים. הדוגמא var name="new_word", זהה לחלוטין לדוגמא: var name = "new_word".

ומכייוון שלצורכי כתיבה והגהה נוח יותר להכניס רווחים, ניתן ואף ראוי לעשות זאת.

הערה: להוספת רווח בתוך מחרוזת יש משמעות, והקוד לא מתעלם ממנו. בתוך המחרוזת, הרווח הוא חלק מהטקסט הכתוב. המחרוזת " כיתת לימודים" אינה זהה ל: "כיתת לימודים":

הדבר היחיד שניתן לבצע בתוך מחרוזת בלי לפגוע בטקסט הכתוב, הוא שבירת שורה באמצע המחרוזת, אך את זאת יש לעשות באמצעות לוכסן:

שני משפטי הכתיבה שלפניך זהים לחלוטין מבחנת הקוד:

document.write( "חברת התעופה בע\"מ, ישראל" );

document.write( "חברת התעופה \
 בע\"מ, ישראל" );

אות גדולה

כפי שכבר צויין, JavaScript רגישה לגודל האות. המשתנה name שונה מהמשתנה Name והפונקציה הקרויה Newword אינה זהה לפונקציה newword.

יש לשים לב לאותיות ולא ליפול ל"מלכודת" של מקש CapsLock.

 

אל השיעור הבא