הבנה והצהרה של JavaScript

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

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

  • // תגובה
  • לשבור
  • לְהַמשִׁיך
  • ל
  • ב
  • פוּנקצִיָה
  • אחרת
  • חָדָשׁ
  • לַחֲזוֹר
  • var
  • בזמן
  • עם

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

תגובה (//)

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

// זוהי תגובה פשוטה

// זוהי תגובה נוספת המשתרעת על פני יותר משורה אחת. אף על פי שההערה עוטפת את השורה השנייה, השורה הראשונה מסתיימת ב"חזרה רכה "בתוכנית עריכת הטקסט. לא מוכנס תו של חזרה קשה.

אתה יכול למקם את תווי // הערה בכל מקום בשורה. JavaScript יתייחס לכל הטקסט בשורה זו אחרי // כהערה.

MyVariable = "זו בדיקה" // מקצה משתנה טקסט MyVariable 

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

כשכותבים הערות ארוכות עדיף להשתמש בתווים המגיבים החלופיים / * ו- * /. מתייחסים לטקסט בין תווים אלה כהערה. לחלופין, אתה יכול להתחיל כל שורה עם התווים // comment.

// קטע זה בודק אם לוחצים על מקש Enter, ואז ממשיך הלאה 

אוֹ

/ * קטע זה בודק אם לוחצים על מקש Enter ואז ממשיך ב * / 

חזרה לאינדקס

לשבור

הצהרת ההפסקה אומרת ל- JavaScript לצאת מ"מבנה מבוקר "ולחדש את הביצוע בנקודה אחרי המבנה. הצהרת הפסקה משמשת עם מבנים שנבנו באמצעות הפקודות הבאות:

  • ל
  • ב
  • בזמן

הצהרת הפסקה משמשת לרוב לסיום לולאה מוקדמת בטרם עת. לדוגמה:

עבור (ספירה = 1; ספירה <= 10; ספירה ++) {אם (ספירה == 6) הפסקה; document.write ("

לולאה: "+ ספירה +"

");}

דוגמה זו מציגה לולאת for הסופרת בין 1 ל -10 ומדפיסה את המספר בכל איטרציה של הלולאה. משפט if בתוך הלולאה for משמש כדי לבדוק אם הערך במשתנה Count שווה ל- 6. אם Count שווה ל- 6, משפט ההפסקה מבוצע והסקריפט יוצא מה- loop. כמשמש בדוגמה הפשוטה הזו, הסקריפט ייספר מ -1 עד 6 ואז יפסיק. זה יוצא מ- loop לפני שהוא יכול לספור עד 10.

חזרה לאינדקס

לְהַמשִׁיך

הצהרת המשך אומרת ל- JavaScript לדלג על כל הוראות שעשויות להופיע במסלול ל, ל ... בתוך, או תוך כדי לולאה, ולהמשיך לאיטרציה הבאה. השימוש הנפוץ ביותר בהצהרת המשך הוא לדלג על תנאי על הוראות בלולאה אך לא לצאת מהלולאה (כפי שמצהיר הפסקה עושה). לדוגמה:

עבור (ספירה = 1; ספירה <= 10; ספירה ++) {אם (ספירה == 6) ממשיכה; document.write ("

לולאה: "+ ספירה +"

");}

הדוגמה שלמעלה מציגה לולאת for הסופרת בין 1 ל -10 ומדפיסה את המספר בכל איטרציה של הלולאה. משפט אם בתוך הלולאה עבור משמש כדי לבדוק אם הערך במשתנה הספירה שווה ל- 6. אם הספירה שווה 6, ההצהרה המשך מבוצעת, והתסריט מדלג על ההוראה document.write בשורה הבאה. אבל הלולאה לא נגמרת. במקום זאת, הוא ממשיך ומדפיס שורות עבור המספרים הנותרים. כפי שמשתמשים בדוגמה פשוטה זו, הסקריפט ייספר מ -1 עד 5, דלג על 6 ואז הדפיס 7 עד 10.

חזרה לאינדקס

ל

הצהרת ה- for חוזרת על גוש הוראות פעם אחת או יותר. מספר האיטרציות נשלט על ידי ערכים המסופקים כארגומנטים. התחביר של הצהרת ה- for הוא:

עבור (InitVal; מבחן; תוספת) 
  • InitValהוא הערך ההתחלתי של הלולאה for. זה לרוב 0 או 1, אבל זה יכול להיות כל מספר. InitValהוא ביטוי הקובע את הערך ההתחלתי ומקצה ערך זה למשתנה. לדוגמה, ספירה = 0 או i = 1.

  • Testהוא הביטוי המשמש את הצהרת for לשליטה במספר האיטרציות של הלולאה. כל עוד Testהביטוי נכון, הלולאה נמשכת. כאשר Testהביטוי מוכיח שקר, הלולאה מסתיימת. דוגמא: ספירה <10 נכונה כל עוד הערך במשתנה ספירה קטן מ -10.

  • Incrementמציין כיצד ברצונך לספור את הלולאה for - לפי אחד, שני, חמישיות, עשרות וכן הלאה. זהו גם ביטוי ובדרך כלל לובש צורה של CountVar++איפה CountVarשם המשתנה שהוקצה לראשונה InitValבביטוי. דוגמה: Count ++ מגדיל את ערך המשתנה Count באחד לכל איטרציה.
שים לב שבניגוד לכל המבנים האחרים ב- JavaScript, ההצהרה עבור משתמשת בנקודה-פסיק, ולא בפסיקים, כדי להפריד בין הטיעונים שלה. זה תואם את התחביר המשמש ב- C, C ++ ו- Java.

Here's an example of a for loop that counts from 1 to 10, stepping one digit at a time. At each iteration, the script inserts some text and begins a new line. The JavaScript you wish to repeat is enclosed in { and } characters following the for statement; this forms the for statement block. You can provide one line or many within the { and } characters.

for (Count=1; Count<=10; Count++) { document.write ("Iteration: "+Count+"

"); }

Count is the variable name used to store the for loop counter. The for loop starts out with 1 and proceeds to 10. The test expression is Count<=10, which reads:

Count is less than or equal to 10 

As long as this expression is true, the for loop continues. Do note that the Increment argument is also an expression and in the example uses the Count variable to increment the for loop by 1 for each iteration. There's no law that says you must increment the for loop by ones. Here's just one of the many alternatives. This example counts by tens, from 10 to 100.

for (Count=1; Count<101; Count+=10) { document.write ("Iteration: "+Count+"

"); }

Back to index

For...in

The for...in statement is a special version of the for statement described in the previous section. For...in is used to display the property names and/or property contents of objects. It is mostly handy as a debugging and testing tool: If a portion of your JavaScript code isn't working properly, and you suspect it may be the fault of a JavaScript object you are trying to use, you can examine all of the properties for that object with the for...in statement.

Unlike the for statement, for...in doesn't use incrementing tests or other expressions. You provide the name of a holding variable (the name of the variable is up to you) and the object you want to use. The basic syntax for the for...in statement is:

for (var in object) { statements } 
  • var is the name of a variable
  • object is the object you wish to examine
  • statements are one or more JavaScript instructions you wish to execute for each property returned by the for...in loop

As an example, suppose you want to determine the properties of the navigator object (this object contains details about the Netscape Navigator or other browser you are using). The following code displays each property name in an alert box. When running the script, click OK to proceed to the next property name. The loop automatically ends when there are no more properties in the object.

for (temp in navigator) { alert (temp); } 

A variation of this example is shown below. It not only displays the property names but also displays the contents of each property (some properties are empty and therefore no contents are shown for them). The contents of the properties are displayed by using the syntax object[var], or in this case navigator[temp].

for (temp in navigator) { alert (temp + ": " + navigator[temp]); } 

The for..in loop can be used for all object types. You can use it to iterate through all the properties for a form in a document, for example, or through the properties of a user-defined object. For instance, to cycle through all the properties of a form, you'd use the for...in loop as in the following example (assume the form name is "myform"):

 function test() { for (temp in document.myform) { alert (temp); } }

Back to index

Function

The function statement lets you create your own user-defined functions (as well as user-defined objects and methods for those objects). Functions are self-contained routines that can be "called" elsewhere within your JavaScript code. For example, if you have a function named

writeMyName

, which displays your name in headline text, you can activate it by merely referring to the name

writeMyName

someplace within your JavaScript code. Here's a short

test

that shows how this might work:

  Function Test  function writeMyName () { MyName="John Doe" alert (MyName) }     

The writeMyName function is defined within ... tags. It is activated (otherwise known as "called") when the form button is pushed. This calling action is accomplished using the onClick event handler, defined in the tag for the form button.

Back to index

If...else

The if, along with its optional else, statement is used to build an "if conditional" expression. It is called a conditional expression because it tests for a specific condition.

  • If the expression is true, the script performs the instructions following the if statement.
  • If the expression is false, the script jumps to the instructions that follow the else statement. If there is no else statement, the script jumps past the if statement entirely and continues from there.

The syntax for if is:

if (expression) 

The result of the if expression is always either true or false. The following syntax is acceptable when there's only one instruction following the if and else statements:

if (ExampleVar == 10) Start(); else Stop(); 

Should more than one instruction follow the if or else statement, the { and } characters must be used to define an if statement block. With the { and } characters in place, JavaScript knows to execute all of the instructions within the block.

if (ExampleVar == 10) { Count = 1; Start(); } else { Count = 0; Stop(); } 

Expressions in if statements are not limited to the == equality operator. You can test if values are not equal to one another, greater than, less than, and more. For more information on the operators you can use, see the references list at the end of this column. It points to valuable JavaScript documentation, including documentation provided by Netscape.

Back to index

New

The new statement creates a new copy of an object. It is used in either of two ways:

  • To define a new Date object (Date is a built-in JavaScript object)
  • To define a new user-defined object

The syntax is the same with either use:

varname = new objectName(params); 
  • varname is the name of the new object. Acceptable names are the same as for JavaScript variables. In fact, you can consider the created object as a JavaScript variable.

  • objectName is the name of the object. When using the built-in Date object, you use the word Date (note the capitalization -- this is mandatory). When using a user-defined object function, you provide the name of the object function.

  • params are one or more parameters that you pass to the object function, if needed.

The following example shows how to use the new statement to create a copy -- otherwise known as an "instance" -- of the Date object:

now = new Date(); 

לאובייקט עכשיו, שיכול להיחשב כמשתנה JavaScript, יש את כל המאפיינים והשיטות של אובייקט JavaScript Date. לדוגמה, אתה משתמש באובייקט עכשיו כדי לקבוע את השעה הנוכחית ביום:

עכשיו = תאריך חדש (); HourNow = now.getHours ();