הנך נמצא: מדריך מתקדם / שיעור 2 / דף 6
 


המדריך של תאו ל- JavaScript
 


דפים בשיעור זה:
1: המדריך המתקדם
2: טיפול מיוחד במחרוזות
3: substring
4: מתודת split
5: מערכים אסוציאטיבים
6: דוג' למערך אסוציאטיבי
7: cookies – היכרות
8: עוד אודות cookies
9: קריאת cookies - א'
10: קריאת cookies - ב'
11: קריאה וכתיבה
12: עוד אודות cookies
13: cookie - path/domain
14: סיכום שיעור 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

שיעור 2

דף 6: דוגמא למערך אסוציאטיבי.


The Merry Monkey of Multimedia Gulch Phone Book
Name:

Number:


הדוגמא הזו היא מעט מעורבת, אז בוא נעבור עליה באטיות. ראשית, הבא נתבונן בספר הטלפונים עצמו. ספר הטלפונים, שמוגדר ב- header (phone_book) ובעל שבעה ערכים, נראה כך:

var phone_book = new Array();
phone_book["happy"] = "(203) 555-1234";
phone_book["sleepy"] = "(203) 555-2345";
phone_book["sneezy"] = "(203) 555-4321";
phone_book["sleazy"] = "(203) 555-3245";
phone_book["sneery"] = "(203) 555-3213";
phone_book["bleary"] = "(203) 555-2365";
phone_book["tweaked"] = "(203) 555-1664";

המפתח לכל אחד מהערכים הוא שמו של הגמד, והערכים עצמם הם מספרי הטלפון של כל אחד מהשמות בהתאמה. כשנרצה לדעת מה מספר הטלפון של הגמד החביב עלינו, נניח "sneezy", נכתוב:

var the_number = phone_book["sneezy"];

בואו נביט בטופס (form):

<form name="the_form">

<b>Name:</b>

<select onChange = "displayNumber(phone_book, this.options[selectedIndex].value);">
<option value="happy">Happy
<option value="sleepy">Sleepy
<option value="sneezy">Sneezy
<option value="sleazy">Sleazy
<option value="sneary">Sneery
<option value="bleary">Bleary
<option value="tweaked">Tweaked
</select>

<p>

<b>Number:</b>
<input type="text" name="number_box" value="">

</form>

שים לב, שלטופס ולאלמנטים שבתוכו יש שמות. דבר זה מאפשר לנו לקרוא ולכתוב מ/אל אלמנטים ספציפים בטופס.

כמו כן, שים לב ל- onChange handler בתווית ה- select. שורת קוד זו, למעשה מנחה את הדפדפן להפעיל את הפונקציה displayNumber כל אימת שמבוצע שינוי ב- select. הפונקציה, כמובן, מוגדרת בראש הדף. אם אני אבחר ב- "sneezy", הביטוי this.options[selectionIndex].value יחזיר "sneezy". אם אתה זקוק לרענון אודות פקודה זו, הבט במדריך הבסיסי - שיעור 5.

ברגע, שהבנו מה המשתמש בחר, קפצנו לפונקציה displayNumber שנראית כך:

function displayNumber(phone_book, entry)
{
  var the_number = phone_book[entry];
  window.document.the_form.number_box.value = the_number;
}

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

var the_number = phone_book[entry];

מחפשת את השם בספר הטלפונים. והשורה השנייה,

window.document.the_form.number_box.value = the_number;

שמה את המספר בתוך האלמנט הקרוי number_box.

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

ועכשיו, אם אתה מוכן לזאת, בוא לשחות בין העוגיות.

חזור לתחילת הדף

לדף הבא «--

 
       
       
   
 
 

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