بررسی دلیل اتفاقی که بعد از حذف پرانتزها می افتد
بسیار خب ما اینک میدانیم که چرا عبارت فراخوانی طراحی اپلیکیشن در مشهد سریع توابع این چنین شغل می نماید و همینطور میدانیم که کد مرتبط با آن دقیقا چه کاری را برای ما اعمال میدهد: یک عبارت تابع می سازد و باگاز آن را فراخوانی می نماید. اکنون ما میتوانید به اکثری از سوال ها به راحتی جواب دهیم. چرا؟
چرا ما عوض این که یک تابع تمجید کنیم و تختگاز آن را فراخوانی کنیم از عبارت فراخوانی سریع توابع به کار گیری میکنیم؟
محدوده توابع
در جاوا اسکریپت متغیرها در باطن بدنه تابع خویش محدود گردیده اند، این به آن معنی میباشد کهاین متغیرها از بیرون تابعی که در آن تمجید گردیده اند قابل دسترسی نیستند، در این مکان یک نمونه بی آلایش را درباره این زمینه پژوهش میکنیم:
(function(){
var superSecret = 195;
})()
console.log(superSecret);
// Uncaught ReferenceError: superSecret is not defined
ما نمی توانیم متغیر superSecret را به سوا IIEF ارسال کنیم، همگی کدهایی که در درون عبارت فراخوانی سریع توابع ما قرار دارا هستند در باطن همین تابع قابل دسترسی میباشند.
ولی شکیبایی فرمائید چرا شما صرفا یک تابع را تعریفوتمجید میکنید و آن را فراخوانی نمیکنید؟ آیا این فعالیت به عبارتی فیض را خواهد داشت؟
آری به عبارتی فیض را خواهد داشت البته عواقبی را نیز برای شما خواهد داشت. تشکیل داد یک تابع به طور اسمی فضای کلی یا این که به عبارتی گلوبال اپلیکیشن شمارا بهم می ریزد، این به آن شکل میباشد که اسم این تابع قادر است از هر مسیری قابل دسترسی باشد و به همین برهان ممکن میباشد به طور تصادفی در مکان دیگری نیز فراخوانی گردد. عبارت فراخوانی سریع توابع ما نامگذاری نشده میباشد و به همین برهان قابلیت این که ابعاد به طور تصادفی گزینه استعمال قرار بگیرد بسیار نادر میباشد و همین زمینه از ساختوساز ارورهای متعدد در اپلیکیشن شما پرهیز می نماید.
عده بندی
شادباش میگوییم شما درحال حاضر شناخت جامعی با عبارت فراخوانی سریع توابع با IIFE دارید و میدانید که چه طور فعالیت می نماید، در حالتیکه شما نیز نظری درباره این مسئله دارید میتوانید به راحتی ایده ها خویش را در نصیب مرتبط با ایده ها وارد نمایید تا کلیه از آن به کار گیری کنیم.
برچسب: طراحی اپلیکیشن در مشهد،