آموزش طراحی سایت-event در جاوا اسکریپت

سلام عزیزان با آموزش جاوا اسکریپت در خدمت شما دوستان هستیمآموزش رخدادادها event در جاوا اسکریپتدر HTML رخدادها، اتفاقاتی هستند که برای عناصر (HTML) روی می دهند.هنگامی که از جاوا اسکریپت در صفحات HTML استفاده می کنید، جاوا اسکریپت به محض اجرای (روی دادن) رخدادها واکنش نشان می دهند.رخدادهای HTML در آموزش طراحی سایترخداد HTML ممکن است چیزی باشد که هم از طرف مرورگر و هم از طرف کاربر روی می دهد.نمونه هایی از رخدادهای HTML به ترتیب زیر می باشند.بار گذاری یک صفحه ی وب HTMLبه پایان رسیدهیکی از فیلدهای ورودی (input field) HTML تغییر یافته یا اصلاح شدهیک دکمه ی HTML روی صفحه کلیک شدهاغلب پس از اینکه رویدادی (event) رخ می دهد، عملیات خاصی را می خواهیم پیاده کنیم.جاوا اسکریپت به مجرد اینکه رخدادی را شناسایی کند، اجازه ی اجرای کد مورد نظر را به برنامه نویس می دهد.HTML به خصیصه های event handler (کنترل گر و مدیریت کننده ی رخداد ها) که به کد جاوا اسکریپت (javascript code) الحاق شده اند اجازه ی متصل یا ضمیمه شدن به عناصر HTML را می دهد. https://www.aparat.com/v/4gGj2 با تک کوتیشن (' ')<some-html-element some-event='some JavaScript'>با دابل کوتیشن (" ")<some-html-element some-event=&quotsome JavaScript&quot>در مثال زیر خصیصه (attribute) (به همراه کد)، به المان دکمه (تگ </button>) افزوده می شود.مثال:نمونه یک<button =&quotgetElementById('demo')=Date()&quot>The time is?</button>همان طور که در مثال بالا مشاهده می کنید، کد جاوا اسکریپت محتوای المان مربوط را به وسیله ی شناسه ی "demo" تغییر می دهد.حال توجه خود را به نمونه ی بعدی جلب کنید که در آن کد محتوای المان خود را با استفاده از this تغییر می دهد.مثال:نمونه دو<button =&quotthis=Date()&quot>The time is?</button>نکته:کد جاوا اسکریپت معمولا چندین خط ادامه دارد. رایج تر این است (بیشتر می بینید) که خصیصه ی رخدادها (event attribute) توابع را فراخوانی کنند.مثال:نمونه سه function displayDate() { document.getElementById(&quotdemo&quot) = Date(); }رخدادهای معمول و پرکاربرد HTMLجاوا اسکریپت چه نقشی را ایفا می کند؟اداره کننده ی رخدادها Event handler ها به منظور کنترل، بررسی، تایید درستی ورودی کاربر (user input) و عملیاتی که توسط کاربر انجام می شود و همچنین عملیات مرورگر مورد استفاده قرار می گیرد.کارهایی که باید با هر بار بارگذاری صفحه، انجام شود.کارهایی که باید با بسته شدن صفحه / هنگامی که صفحه بسته می شود، انجام گیرد.عملیاتی که باید پس از اینکه کاربر یک دکمه را فشار داد، پیاده شوند.محتوا (content) که باید به هنگام وارد شدن داده توسط کاربر، بررسی و تایید درستی شود و غیره.....روش های مختلفی هست که از طریق آن ها می توان به جاوا اسکریپت امکان همکاری و انجام عملیات با رخداد ها را داد، از جملهخصیصه های رخداد HTML خود می توانند (به طور) مستقیم کد جاوا اسکریپت را اجرا کنند.خصیصه های رخداد HTML می توانند توابع جاوا اسکریپت را صدا بزنند.(فراخوانی کنند)برنامه نویس می تواند توابع اداره کننده ی رخداد خود را به المان های HTML تخصیص دهد.برنامه نویس می تواند از ارسال، مدیریت و دستکاری رخدادها جلوگیری کند و غیره.....آموزش حوزه ی دسترسی در جاوا اسکریپت / JavaScript Scopeدر جاوا اسکریپت توابع (functions) و اشیا (objects) نیز متغیر تلقی می شوند.در زبان مبتنی بر اشیا جاوا اسکریپت، scope به مجموعه ی از متغیرها، اشیا و توابع گفته می شود که شما به آن ها دسترسی دارید.حوزه یا scope جاوا اسکریپت توابع هستند و اینscope ها داخل تابع تغییر یافته و تعریف می شوند.متغیرهای محلی جاوا اسکریپتمتغیرهایی که داخل یک تابع تعریف می شوند، در واقع متغیرهای محلی / local آن تابع محسوب می شوند.متغیرهای محلی (local variables)، حوزه دسترسی یا scope آن ها نیز محلی تلقی می گردد، بدین معنا که دسترسی به آن ها تنها داخل خود تابع امکان پذیر می باشد.مثال:نمونه یکmyFunction(); document.getElementById(&quotdemo&quot) = &quotI can display &quot + typeof carName; function myFunction() { var carName = &quotVolvo&quot }از آنجایی که متغیرهای محلی تنها داخل توابع مختص به خود شناخته می شوند، متغیرهایی که با متغیرهای محلی (داخل تابع مربوط) هم نام هستند، می توانند در توابع دیگر بکار گرفته شوند، به عبارتی روشن تر شما می توانید در توابع مختلف، متغیرهای محلی با نام های یکسان داشته باشید.(متغیرهای محلی تنها توسط آن تابعی که آنها را معرفی کرده شناخته می شوند).متغیرهای محلی زمانی ایجاد می شوند که تابعی راه اندازی شود (کار خود را آغاز کند) و هنگامی نیز حذف می گردند که تابع عملیات خود را به پایان رسانده باشد / متغیرهای محلی مجرد اینکه عملیات تابع تکمیل شد، خود به خود حذف می گردند.متغیرهای سراسری / عمومی (global variables)متغیری که بیرون یک تابع تعریف شود، متغیر Global (سراسری) نامیده می شود.یک متغیر سراسری دارای حوزه ی دسترسی سراسری است، بدین معنا که کلیه ی اسکریپت ها و توابع موجود در یک صفحه ی وب امکان دستیابی به آن را دارند.مثال:نمونه دوvar carName = &quotVolvo&quot myFunction(); function myFunction() { document.getElementById(&quotdemo&quot) = &quotI can display &quot + carName; }اگر به متغیری که هنوز تعریف یا اعلان نشده مقداری تخصیص دهیم، آن متغیر خودکار یک متغیر سراسری (global) تلقی می گردد.در نمونه کد ذیل با اینکه carName داخل یک تابع تعریف شده، اما یک متغیر سراسری تلقی می گردد (زیرا که متغیر مورد نظر از پیش اعلان نگردیده است).مثال:نمونه سهmyFunction(); document.getElementById(&quotdemo&quot) = &quotI can display &quot + carName; function myFunction() { carName = &quotVolvo&quot }طول عمر متغیرها (Lifetime of varabiles)طول عمر یک متغیر جاوا اسکریپت درست از زمانی که آن متغیر اعلان می گردد، آغاز گشته و حساب می شود.همان طور که پیش تر ذکر شد عمر یک متغیر محلی محدود به زمان شروع اجرا و تکمیل عملیات تابع است، یعنی بمحض اینکه تابع تکمیل شود متغیر محلی نیز عمرش به پایان رسیده و حذف می شود.متغیرهای سراسری یا عمومی نیز هنگامی که صفحه ی وب بسته می شود، همگی حذف می گردند.آرگومان های تابع (function arguments)آرگومان (پارامتر) های یک تابع به عنوان متغیرهای محلی داخل آن تابع عمل می کنند.متغیرهای سراسری در HTMLحوزه دسترسی سراسری (global scope) در جاوا اسکریپت شامل کل محیط جاوا اسکریپت می شود (از هرجای جاوا اسکریپت یا نقطه ی صفحه می توان به متغیرها دسترسی پیدا کرد).در HTML، حوزه ی عمومی یا سراسری (Global Scope) شی window را شامل می شود: تمامی متغیرهای سراسری متعلق به شی window هستند و از این رو می توان از هر نقطه ی از شی window به متغیرهای عمومی دسترسی پیدا کرد.مثال:نمونه چهارmyFunction(); document.getElementById(&quotdemo&quot) = &quotI can display &quot + window.carName; function myFunction() { carName = &quotVolvo&quot }توجه:آیا می دانستید که متغیرها (یا توابع) سراسری می تواند متغیرها و توابع متعلق به شی window را بازنویسی / overwrite کنند؟ هر تابعی، حتی خود شی window، قادر است متغیرها و توابع سراسری را بازنویسی کند.در قسمت بعد رشته ها در جاوا اسکریپت را فرا می گیرید