הבדלים בין גרסאות בדף "JavaScript"

נוספו 680 בתים ,  לפני שנה
תחת אפיוני השפה הוספתי את הנושא של העברת פרמטרים יחד עם מקור.
(הוספתי באפיוני השפה תיאור שהשפה הינה שפה שעוברת פירוש ולא הידור, הוספתי גם את המקור לכך מאוניברסטת סטנפורד.)
(תחת אפיוני השפה הוספתי את הנושא של העברת פרמטרים יחד עם מקור.)
== אפיוני השפה ==
השפה היא שפה שעוברת תהליך [[מפרש (תוכנה)|אינטרפטרציה(פירוש)]] ולא [[מהדר|קומפילציה (הידור)]].<ref>{{קישור כללי|כתובת=https://web.stanford.edu/class/cs98si/slides/overview.html|כותרת=Introduction|אתר=web.stanford.edu|תאריך_וידוא=2020-02-16}}</ref> משמעות הדבר שקוד המקור לא צריך לעבור תהליך של קימפול(הידור) לשפת ביניים ואז להריץ אותו, אלא הinterpreter(מפרש) קורא שורה שורה או מקבץ של שורות (למשל scope של פונקציה) ומריץ אותן ישירות. תהליך זה מקל לעיתים להבין היכן התבצעה שגיאה ומאפשר דיבוג קל יותר של השפה.
 
העברת פרמטרים לפונקציה בשפה משתנה בין טיפוסים פרימטיבים לאובייקטים. טיפוסים פרמיטיבים עוברים by value כלומר השפה מעבירה את הערך כמו שהוא ולא יוצרת העתק של הערך. טיפוסים מורכבים או אובייקטים עוברים by reference כלומר השפה תעביר העתק של של האובייקט ולא את האובייקט המקורי<ref>{{קישור כללי|כתובת=https://www.w3schools.com/js/js_function_parameters.asp|כותרת=JavaScript Function Parameters|אתר=www.w3schools.com|תאריך_וידוא=2020-02-16}}</ref>.
 
השפה תומכת בתחביר הסטנדרטי של שפת C, מבחינת [[אופרטור (תכנות)|אופרטורים]], מבני בקרה ופקודות, ומבדילה בין אותיות גדולות לקטנות (case-sensitive). כמו ברוב שפות התסריט טיפוסי השפה מקושרים לערכים ולא למשתנים, משתנה X יכול להפוך במהלך הריצה ממספר למחרוזת לפי ההשמה.
משתמש אלמוני