JavaScript – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
Matanyabot (שיחה | תרומות) מ בוט החלפות: \1 |
RafaelGreen (שיחה | תרומות) ←אפיוני השפה: עריכה |
||
שורה 31:
העברת פרמטרים לפונקציה בשפה משתנה בין טיפוסים פרימטיבים לאובייקטים.
טיפוסים פרמיטיבים עוברים by value. כלומר,
השפה תומכת בתחביר הסטנדרטי של שפת C, מבחינת [[אופרטור (תכנות)|אופרטורים]], מבני בקרה ופקודות, ומבדילה בין אותיות גדולות לקטנות (case-sensitive). כמו ברוב שפות התסריט טיפוסי השפה מקושרים לערכים ולא למשתנים, טיפוס משתנה X יכול להפוך במהלך הריצה ממספר למחרוזת לפי ההשמה.
השפה מבוססת "תכנות מונחה דגמי אב" (Prototypes), שהוא סוג (לא נפוץ) של [[תכנות מונחה-עצמים|תכנות מונחה־עצמים]]. השפה בעיקרה היא שפה מבוססת [[אובייקט (מדעי המחשב)|אובייקטים]] (אפילו טיפוס בוליאני [Boolean] הוא למעשה אובייקט). האובייקטים בשפה הם מערכים אסוציאטיביים. תכנות מונחה עצמים אפשרי
השפה היא גם [[תכנות מונחה-אירועים|שפה מונחת־אירועים]] (Events), כך שמהלך ריצת התוכנית מבוסס על אירועים שמתרחשים בזמן ביצועה. לכל אובייקט קיים אוסף אירועים הייחודי לו, והדרך הנפוצה היא לכרוך פונקציות של המשתמש עם אירוע של אובייקט מובנה. להלן רשימה חלקית של האירועים:
שורה 54:
|Onunload
|-
|בעת
|Onblur
|-
שורה 81:
התוכנית המופיעה להלן כתובה בשפת JavaScript, והיא בודקת האם מספר שהועבר אליה הוא [[מספר ראשוני]]. הסימן "<tt>//</tt>" מציין שהטקסט שמימינו אינו חלק מקוד התוכנית, אלא הוא הערה שמטרתה להסביר את התוכנית למתכנת הקורא אותה. התוכנית מחולקת לשתי פונקציות, האחת בודקת האם מספר נתון הוא ראשוני, והשנייה מטפלת בדיאלוג עם המשתמש: קבלת המספר לבדיקה (קלט) והצגת תוצאות הבדיקה (פלט).
<syntaxhighlight lang="
<input type="text" id="primetest" value="" />
<input type="button" onClick="communicate()" value="Check" />
שורה 91:
// try to find a factor that is not 1.
for (let i=2; i<=sr; i+=1) {
}
return 1 // n is a prime.
שורה 102:
// is it a valid input?
if ( isNaN(i) || (i <= 0) || (Math.floor(i) !== i) ) {
}
if (i == 1) {
alert("1 is not a prime");
return
}
let factor = get_factor(i)
if (factor === 1)
else
} // End of communication function
</script>
שורה 126 ⟵ 130:
javascript: alert(document.cookie);
</syntaxhighlight>
בדוגמה זו נקפיץ באמצעות הפקודה alert תיבת הודעה עם העוגיות ששמורות
על מנת להגן מפני התקפות [[הנדסה חברתית (אבטחת מידע)|הינדוס חברתי (social engineering)]], השימוש בשיטה זו נחסם בדפדפנים המודרניים. כך לדוגמה, ב[[מוזילה פיירפוקס]] החל מגרסה 6, קוד שהוזרק בשיטה זו לא יתייחס לתוכן הדף, ומשכך, לא יתאפשר לו להשפיע על ה־DOM. ב[[גוגל כרום]] וב[[אינטרנט אקספלורר]] מגרסה 9 ומעלה, כאשר מדביקים כתובות כאלה בשורת הכתובת, הפרוטוקול (javascript:) מושמט מהכתובת המודבקת, ובכך מנטרל את השפעתו של הקוד.
|