למד לקוד חלק שלישי: מערכים והצהרות לוגיקה


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

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

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

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

מערכים


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

var myArray = new Array("Lisa", "George", "Adam", "Paloma", "Jeffrey");

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

myArray[0]

מהי שיטה?

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

האמור לעיל יפתר ליסה, כי ליסה הוא השם הפרטי במערך. אם תשנה את ה-0 ל-1, זה ייפתר לאדם. אם תשים מספר מעבר למספר הפריטים שנמצאים כרגע במערך (כמו 12), לא תקבל כלום בכלל.

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

עבור לולאות


הforלולאה הולך להיות הדבר המסובך ביותר איתו נתמודד היום, ואנחנו מסתכלים על זה לפניifהצהרה כי אנחנו הולכים להשתמש ב-anifהצהרה כדי לשנות את התנהגותו. אז מה זה אforלולאה בדיוק? בעיקרון, אforלולאה מריצה גוש קוד מספר מוגדר של פעמים וסופרת את המספר הזה תוך כדי תנועה. תאר לעצמך שאתה משתנה מספר שנקראi. (אתה יכול להעמיד פנים שזה מייצג אני כמו בעצמך, אבל זה באמת מייצג איטרטור.) כמוi, אתה צריך לרוץ מייל ואתה בקו הזינוק של מסלול של רבע מייל. כדי להשלים מייל, זה אומר שאתה צריך לרוץ ארבע הקפות מסביב למסלול. מיוצג בתור אforהצהרה, זה עשוי להיראות בערך כך:

for (i=0; i<4; i++){        run();}

בואו נפרק את זה. כשאתה אומרfor, אתה אומר למחשב שאתה מצהיר על אforהַצהָרָה. זה אמור להיות הגיוני. זה בערך כמו להגידvarלפני הכרזה על משתנה. זה החלק הקל. החלק המסובך קורה בתוך הסוגריים. בואו נסתכל על כל חלק בנפרד.

i=0

כאשר אתה משתמשi iהיא הדרך ללכת. כי אתה מצהיר על זה בתוך הforלולאה, תוכל להשתמש בו שוב בלולאה אחרת מאוחר יותר. משתנה זה מקומי ל-forלולאה ולא יתנגש עם דברים מחוצה לה. מה שאנחנו עושים כאן זה להגדיר את זה ל-0. אתה לא צריך להתחיל ב-0, אבל במקרה הזה (ובעצםכל מצב אחרשבו תשתמש ב- aforלולאה) זה הגיוני. עוד לא רצנו הקפות, אז אנחנו מתחילים מאפס.

אֲנִי

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

i++

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

בתוך הפלטה המתולתלת

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

עוד פעם, בבקשה!

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

  • הforאומר למחשב שאנחנו מגדירים אforלוּלָאָה.

  • i=0מגדיר משתנה שנקראiשווה ל-0, שזו נקודת ההתחלה שלנו.

  • i tells the for loop to stop once i is no longer less than the number 4.

  • i++אומר אתforלולאה להגדלהiב-1 לאחר כל פעם שהוא מסיים להפעיל את הקוד המיועד.

  • כל הקוד המיועד ש-forהלולאה אמורה לרוץ צריכה להיות ממוקמת בתוך הפלטה המתולתלת.

בואו נשתמש בו

אוקיי, בוא נעשה עכשיו אforלולאה שעוברת דרך המערך שלנו ומתריעה על כל שם במערך. הקוד הזה צריך להיראות בערך כך:

for (i=0; i<5; i++){        alert(myArray[i]);}

הדוגמה האמיתית הזו צריכה להיראות דומה מאוד לדוגמא המזויפת שנתחנו זה עתה פרט לדבר אחד:myArray[i]. קודם לכן בדקנו איך אנחנו יכולים לגשת לתוכן של מערך לפי מספר, אזmyArray[0]ייתן לנו משהו אחר מאשרmyArray[1]. כִּיiהוא מספר שמשתנה כ-forריצת לולאה, בכל פעם שהלולאה תיגש לנקודה אחרת במערך. זה חוסך לך את הטרחה בכתיבת הקוד חמש פעמים.

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

for (i=0; i<myArray.length; i++){        alert(myArray[i]);}

כדי להקל על החיים, ל-JavaScript (ולרוב השפות שמשתמשות במערכים) יש מאפיין מובנה בכל המערכים שאתה יוצר. (למעשה, יש חבורה של נכסים שונים אבל אנחנו רק הולכים להסתכל על זה כרגע). הנכס הזה, שנקראlength, נותן לך את מספר הפריטים במערך. אז במקום להגידi we'll just say iand the for loop will run until it's run out of items in the array.

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

אם הצהרות


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

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

if (myDog == "blue"){        washDog();}

כמו שראינו בעבר,ifאומר למחשב שאנחנו מצהירים על הצהרת if. בסוגריים, אנו מגדירים את התנאי. אתה תראה שיש לנו משתנה בשם myDog, שככל הנראה מכיל פיסת מידע פשוטה: הצבע של הכלב שלך המיוצג כמחרוזת. זה יכול להיות "אדום" או "ירוק" או "כחול", אבל אנחנו עדיין לא יודעים. כדי לברר, נשאל אם myDog שווה ל"כחול" כדי לגלות אם הוא באמת כחול. כדי לבדוק שוויון, אנו משתמשים ב-==. אם אתה משתמש ב-single = אז אתה קובע את הערך של משתנה. אם אתה משתמש בשני == אז אתה בודק כדי לראות אם משתנה אחד שווה למשנהו, או פשוט שווה לסוג כלשהו של נתונים. אם הכלב יתברר כחול (כלומר אם התנאי מתקיים ו-myDog שווה ל"כחול"), אז ההצהרה if תאפשר להפעיל את הקוד בסוגריים מסולסלים {}. בדוגמה זו, הקוד בתוך הפלטה המתולתלת הואwashDog();. בעוד ש-washDog() אינה פונקציה אמיתית (עדיין לא, בכל מקרה), אם זה היה כנראה היה יוצא ושוטף את הכחול מהכלב שלך.

אוקיי, אז איך נוכל ליישם את זה בקוד שלנו? ובכן, הסרטון ידריך אותך דרך דוגמה מורכבת יותר, אבל אנחנו רק הולכים לבדוק את שמו של מישהו. נניח שכללת את שמי (אדם) במערך ורצית לקבל התראהרק אם השם שלי עולה. ובכן, אנחנו יכולים לשלב את ה-for loop שלך ואת הצהרת if שלך כדי לעשות בדיוק את זה:

for (i=0; i<myArray.length; i++){        if (myArray[i] == "Adam")        {                alert("I found " + myArray[i] + " in the array!");        }}

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

יש לך את כל זה? טוֹב! אם עברת את השיעור הזה, זה יעבור חלק עם השיעור הבא. אם אתה מוכן,לעבור לשיעור 4שבו נלמד על פונקציות ויצירת משחק ניחושים פשוט.


Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe Now & Never Miss The Latest Tech Updates!

Enter your e-mail address and click the Subscribe button to receive great content and coupon codes for amazing discounts.

Don't Miss Out. Complete the subscription Now.