سلام میخواستم ببینم منطق جاوا اسکریپت چیه که حتما باید متغیر active Item خارج حلقه باشه تا پروزه درست کار کنه؟
سلام،
دلیل اینکه متغیر activeItem باید خارج از حلقه تعریف شود این است که ما میخواهیم متغیر activeItem در سراسر کد در دسترس باشد و مقدار آن حفظ شود. اگر activeItem داخل حلقه تعریف شود، هر بار که حلقه تکرار میشود، یک متغیر جدید به نام activeItem ساخته میشود و مقدار قبلی آن از بین میرود. بنابراین با هر بار تکرار حلقه، مقدار فعلی activeItem گم میشود. ولی وقتی activeItem بیرون از حلقه تعریف میشود، تنها یکبار ساخته میشود و در سراسر کد در دسترس است. در نتیجه میتوانیم مقدار آن را در حلقه تغییر دهیم و مطمئن باشیم که مقدار جدیدش حفظ میشود.
این الگو برای حفظ وضعیت (state) در جاوااسکریپت بسیار مهم است. متغیرهایی که نیاز است مقدارشان حفظ شود باید در سطح بالاتر از حلقه تعریف شوند.