function (){
var a = "";
function(){
a = 1;
}
}
הצהרה ללא var מתרשת בשורה 4.
כרגע זה מתייחס למשתנה שנמצא בשורה 2.
אתה רוצה לומר שאם אין את זה ב global שזה יתיחס לפנימי. כלומר כמו VAR.
כדי שמתכנתים ישתמשו בזה כדי להשתמש בזה בתוך משתנה פנימי.
וזה היה עושה הרבה בעיות. כי לעיתים זה היה פנימי. ולעיתים זה היה חיצוני. תלוי אם ה a הוגדר קודם.
לכן הכי פשוט שתמיד שלא עושים VAR זה חיצוני. ואם אין שום הגדרה זה הולך לסקופ העליון.
יש מקום לדיון האם לפלוט שגיאה בכזה מצב.
אבל אני בדעה שלא לפלוט שגיאה. טעם אישי. אין טעם להתווכח על זה.
פורסם במקור בפורום CODE613 ב24/08/2017 14:15 (+03:00)