תכנות שפות / מה הפונקציה שלך?
מה הפונקציה שלך?
כל תוכנית בג'אוה סקריפט, C++ או פרל, בנויה מפונקציות. פונקציה היא קבוצה של ביטויים מאוגדים ביחד כדי לבצע פעולה מסוימת. פונקציה משתמשת בטיעונים שונים המוזנים לתוכה כדי להנפיק ערכים מסוימים. הטיעונים האלו נוצרים בכל פעם שבה נוצרת פונקציה, והם בסך הכל כלים להכיל את הערכים שיעברו דרך הפונקציה. טיעונים רלוונטים רק לפונקציה מסוימת ונטענים מחדש בכל פעם שבה אנו קוראים לפונקציה, מכיוון שבכל פעם אנו יכולים להשתמש בערכים שונים. פונקציה מורכבת משם הפונקציה, הטיעונים השונים וגוף הפונקציה. זה נראה בערך ככה:
Function printName (argument)
{
body (all the cool code)
}
שם הפונקציה הוא printName והיא נשענת על ביטוי אחד. כל מה שנכנס בתוך הסוגריים המסולסלות נקרא גוף הפונקציה ושם נמצא כל הקוד. ישנם שני סוגים של פונקציות: ידועות מראש ומותאמות אישית. פונקציות ידועות מראש הן פונקציות שכבר מובנות בתוך שפת התכנות. דוגמא לאחת שכזו בג'אוה סקריפט היא ()alert או ()document.write. פונקציה מותאמת אישית היא פונקציה שהמתכנת יוצר. היא מוגדרת על ידי נתינת שם לפונקציה ויוצאת לפועל על ידי קריאה בשם שניתן. הנוסח של הגדרת הפונקציה משתנה משפה לשפה. בג'אוה סקריפט מתחילים במילה function. בדוגמא הבאה ריכזתי את כל מה שלמדנו עד עכשיו, בעיקרון הפונקציה מבקשת להקיש סיסמא ובודקת אם היא נכונה. הקוד יראה ככה:
Function getPassword () {
thePassword = new Array('foo', 'bar', 'bobo');
var passwordMatches = false;
var enterPassword = prompt ("Enter your password:");
for (I=0; I < thePassword.length; I=I+1) {
if (enterPassword = = thePassword[I])
passwordMatches=true;
}
return passwordMatches;
}
var theVerdict = getPassword();
if (theVerdict == true) {
alert("Right-0!")
} else {
alert ("How much schooling did you say you had?")
}
ברגע שתקליד סיסמא היא תהפוך לערכו של המשתנה enterPassword. אם הקלדת את הסיסמא bobo לדוגמא, הפונקציה תסרוק את המערך thePassword ותשווה כל אחד מהאלמנטים אם הסיסמא שהקלדת. אם ישנה התאמה, הערך של המשתנה passwordMatches משתנה ל"אמת", מה שהופך את הפונקציה getPassword לאמת ואתה תקבל הודעה קטנה ונחמדה. אם הקלדת סיסמא כמו asdfg לדוגמא, הפונקציה תקבל ערך שיקרי מכיוון שאין התאמה עם אף אחד מהערכים במערך. הערך של passwordMatches יהיה שקרי ואתה תקבל הודעה לא נעימה בכלל.
עמוד הבא: רמזים, טיפים וטריקים >>
|