@Whenever re רק להוסיף הסבר שלמדתי בזכות הדיון כאן:
התנסיתי עם הקוד הראשוני שהביא @ek0583232948 וראיתי שהקוד עובד כמו שהבאת כאן. אז התקשיתי להבין למה זה עבד באמת.
ההסבר להבנתי הוא הוא שכאשר מריצים את הקוד הנ"ל בעורך קוד האון ליין הוא מתעלם מהשורה של:
<script src="./source.js"></script>
כי אין אצלו נתיב כזה. ולכן, ה סביבת הרצה טוענת את הדף עם הקוד של ה HTML ורק אח"כ הוא מריץ את הסקריפט ולכן זה תקין [וזה שקול לתיקון שעשיתם, שהסקריפט ממוקם במקומו אחרי התיקון].
בבקשה תקנו אותי אם אני טועה
[הגעתי להבנה הזו כי שמרתי את הקוד המקורי ה'לא נכון' כקובץ HTML ואח"כ בקונסול [F12 ] הרצתי את 2 השורת של ה SJ וזה כן עבד תקין. ונסיתי להבין למה - וזו המסקנא שהגעתי אליה.
מקווה שמובן ההסבר ו'ההוכחה' [הסבר למתחילים כמוני].
אני מודה [תרתי משמע ] שזה עזר לי להבין טוב יותר את העניין
תודה לשניכם.
ובהצלחה.