بالا بردن تعریف متغییر ها در JavaScript
یادگیری JavaScriptپیش فرض رفتار جاوا اسکریپت در حال حرکت، تعاریف به بالا است.
بالا بردن تعریف متغییر ها در JavaScript
در جاوا اسکریپت، یک متغیر می تواند بعد از آن استفاده شود.
به عبارت دیگر؛ یک متغیر می تواند قبل از اعلام استفاده شود.
مثال 1 نتیجه ی مشابه ی با مثال 2 دارد:
x = 5; // Assign 5 to x
elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x; // Display x in the element
var x; // Declare x
مشاهده مثالvar x; // Declare x
x = 5; // Assign 5 to x
elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x; // Display x in the element
مشاهده مثالبرای درک این موضوع، شما باید اصطلاح "بالا بردن" را درک کنید.
بالا بردن رفتار پیش فرض جاوا اسکریپت همه اعلان ها به بالای محدوده فعلی (به بالای اسکریپت فعلی یا عملکرد فعلی) است.
شروع در JavaScript بدون بالا بردن
جاوا اسکریپت فقط اعلامیه ها را بالا می برد، نه مقداردهی اولیه.
مثال 1 نتایج مشابهی با مثال 2 ارائه نمی دهد:
var x = 5; // Initialize x
var y = 7; // Initialize y
elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y; // Display x and y
مشاهده مثال var x = 5; // Initialize x
elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y; // Display x and y
var y = 7; // Initialize y
مشاهده مثالآیا معنای این است که y در مثال آخر تعریف نشده است؟
این به این علت است که فقط اعلام (var y)، نه مقدار اولیه (= 7) به بالا برسد.
به دلیل بالا بردن، y پیش از استفاده از آن اعلام شده است، اما چون مقداردهی نشده است، ارزش y مشخص نیست.
مثال 2 را میتوان اینگون نوشت:
var x = 5; // Initialize x
var y; // Declare y
elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y; // Display x and y
y = 7; // Assign 7 to y
مشاهده مثالاعلام متغیرهای خود را در بالا!
کشیدن (به بسیاری از توسعه دهندگان) یک رفتار ناشناخته یا نادیده گرفته شده از جاوا اسکریپت است.
در صورتی که یک توسعه دهنده درک کند، برنامه ها ممکن است حاوی اشکالات (خطا) باشند.
برای جلوگیری از اشکالات، همیشه همه متغیرها را در ابتدای هر دامنه اعلام کنید.
از آنجا که جاوا اسکریپت کد را تفسیر می کند، همیشه یک قانون خوب است.
جاوا اسکریپت در حالت سخت اجازه نمی دهد که متغیرهای مورد استفاده در صورت عدم اعلام استفاده شوند.
نظر شما
>