יצירת קשר עם חברת בניית אתרים צור קשר

 077-7644819
חייגו או השאירו הודעתכם

 
מאמרים אחרונים מאמרים אחרונים
15/02/2022 22:51
ככה תיבנו חנות וירטואלית מותאמת סלולר שתשפר את חוויית המשתמש ותגדיל את ההמרות.
03/02/2022 0:06
תקן HTML5 לצד הלקוח באתרי אינטרנט הוא התקן המוביל בימינו. קראו על היתרונות של התקן.
31/01/2022 15:40
בניית אתר אינטרנט בשפת צד השרת PHP היא בחירה חכמה בשפת פיתוח ותיקה, מובילה ומהירה.
תגובות אחרונות תגובות אחרונות
מדריך CSS - מתחילים
17/01/2022 19:35
היי, עיצוב עושים עם CSS, ולא ...
מדריך CSS - מתחילים
16/01/2022 20:41
האם יש אפשרות לעצב רקע בתוך דף...
מדריך CSS - מתחילים
18/11/2021 10:18
היי ינון, אתה צריך את הטקסט ש...
תגובות אחרונות פוסטים אחרונים בפורום
27/06/2022 23:53
שלום רב, ישנה בעיה קטנה בא...
27/06/2022 23:51
שלום! הבעיה שלי אסביר אותה הר...
27/06/2022 23:49
הי,כיצד כדאי להשקיע בשיווק של ...

פונקציות

  1. דף הבית
  2. מדריך HTML5
  3. פונקציות

יצירת פונקציות בג'אווה סקריפט.

שימוש בפונקציות בג'אווה סקריפט

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

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

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

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

 

דוגמה לשימוש בפונקציה:

<script>
function minTriple(a, b, c) {
	return a < b ? ((a < c) ? a : c) : ((b < c) ? b : c);
}

var m1 = minTriple(56, 62, 17); // 17
var m2 = minTriple(13, 72, 85); // 13
</script>

הגדרנו את הפונקציה minTriple שיש לה 3 פרמטרים: a, b, c. שם הפונקציה מותאם לקונבנציות של ג'אווה סקריפט: המילה הראשונה min מתחילה באות קטנה והמילה השניה Triple מתחילה באות גדולה.

הפונקציה מחזירה את ערך המינימום בין 3 הפרמטרים שהיא מקבלת.

תחילה, אנו קוראים לפונקציה minTriple עם הארגומנטים 56, 62, 17 ועושים השמה של ערך החזרה 17 לתוך המשתנה m1.

לאחר מכן, אנו שוב קוראים לפונקציה minTriple, הפעם עם הארגומנטים 13, 72, 85 ועושים השמה של ערך החזרה 13 לתוך המשתנה m2.

 

נראה דוגמה נוספת לפונקציה:

<script>
function dumpValues(a) {
	if (!Array.isArray(a)) {
		return false;
	}

	for (var i=0; i<a.length; i++) {
		document.write(a[i] + "<br />");
	}

	return true;
}

var cities = ["Haifa", "Tel Aviv", "Beer Sheva", "Jerusalem", "Afula"];
dumpValues(cities);
</script>

הפונקציה dumpValues מקבלת פרמטר a. אם הוא אינו מערך, היא תחזיר false ותסיים. אם הוא מערך, היא תדפיס את ערכיו על המסך ותחזיר true.

נפעיל את הפונקציה עם הארגומנט cities. נשים לב כי למרות שהפונקציה מחזירה ערך true / false, הפעם לא עשינו שימוש בערך החוזר.

 

מדוע להשתמש בפונקציות?

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

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

1. הקוד קריא הרבה יותר כשהוא מחולק לפונקציה ולא כתוב ברצף

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

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

 

פונקציה רקורסיבית

כל פונקציה יכולה לקרוא לפונקציה אחרת. בפרט, כל פונקציה יכולה גם לקרוא לעצמה.

פונקציה תיקרא רקורסיבית אם מתקיימים 2 תנאים: הפונקציה קוראת לעצמה וקיים תנאי עצירה שמסיים את הקריאות.

 

דוגמה לפונקציה רקורסיבית:

<script>
function fibonacci(a) {
	if (a == 1 || a == 2) {
		return a;
	}
	return fibonacci(a-2) + fibonacci(a-1);
}

function dumpFibonacci() {
	for (var i=1; i<=20; i++) {
		document.write(fibonacci(i) + "<br />");
	}
}

dumpFibonacci();
</script>

הפונקציה fibonacci היא פונקציה רקורסיבית המחזירה את הערך במקום ה-a של סידרת פיבונאצ'י (פיבונאצ'י היא סידרה שבה כל מספר שווה לסכום 2 המספרים לפניו).

אם a=1 היא תחזיר 1, אם a=2 היא תחזיר 2, ובכל מקרה אחר, היא תחזיר את הסכום של 2 המספרים הקודמים בסידרה.

זוהי פונקציה רקורסיבית כיוון שהיא קוראת לעצמה וכיוון שיש לה תנאי עצירה: אם a=1 או a=2 הפונקציה מסיימת (כלומר מחזירה ערך ללא קריאה נוספת לעצמה).

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

 

סקופינג Scoping

סקופ Scope הוא האזור בקוד שבו משתנה או קבוע שהוגדרו תקפים.

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

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

 

דוגמה להמחשה של סקופינג:

<script>
const a = 1;
var b = 2;
var c = 3;

function foo() {
	const a = 8;
	var b = 9;
	console.log("a=" + a); // a=8
	console.log("b=" + b); // b=9
	console.log("c=" + c); // c=3
}

// before calling the function foo()
console.log("a=" + a); // a=1
console.log("b=" + b); // b=2
console.log("c=" + c); // c=3

// calling the function foo()
foo();

// after calling the function foo()
console.log("a=" + a); // a=1
console.log("b=" + b); // b=2
console.log("c=" + c); // c=3
</script>

דוגמה זו ממחישה כי הקבוע a והמשתנה b שמוגדרים מחוץ לפונקציה (אשר מכונים משתנים גלובאליים) הם אינם הקבוע a והמשתנה b שמוגדרים בתוך הפונקציה (אשר מכונים משתנים לוקאליים).

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

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

 

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

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

 

YouTube previewPlay

שנקפיץ יחד את העסק שלך לגבהים חדשים?

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

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

 

אל תהססו! מלאו את הטופס או התקשרו עכשיו 077-7644819

 
שנקפיץ לך את העסק?
לחץ כאן
התקשר עכשיו 077-7644819
או מלא את הטופס להלן: