• illustrator Curse
  • 7Learn Android Course
  • 7Learn SEO Course
  • 7Learn WP Theme Course

    حرفه ای ترین دوره آموزش طراحی قالب وردپرس



  آیا می دانید دوره های آموزشی سون لرن از جامع ترین و کاربردی ترین آموزش های موجود در سطح وب فارسی است!

ترفندهای پیشرفته jQuery (قسمت 25)

0 324 ۲۹ مهر ۹۴

در این قسمت با ادامه ترفندهای پیشرفته jQuery در خدمت شما هستیم.
jquery trickshot

موضوع چهارم : ماهر شدن در JQuery

ترفند 47 : برای مجزا کردن کدهاتون از توابع بی نام استفاده کنید

تعریف متغیرها و توابع سراسری میتونه بعضی وقتا بد باشه و باعث بوجود اومدن باگهای نامطلوب بشه. رویکرد بهتر اینه که کدهای خود رو با استفاده از بلاکهایی از توابع بی نام جداسازی و ایزوله کنید. علاوه بر این jQuery و بسیاری از ابزارهای دیگه از این ترفند برای خصوصی نگه داشتن متغیرهاشون استفاده میکنن. در اینجا یک مثال کوچک رو با هم بررسی میکنیم:

همونطور که میبینید در ابتدا یک بلاک تابع بی نام تعریف کردیم. در خط اول یک متغیر تعریف کردیم ، این متغیر تنها در این تابع کارایی داره و بیرون از اون در دسترس نیس. بعد از اون هم یک پلاگین ساده رو تعریف کردیم که در هر بار اجرا شدن یک عدد به c اضافه میکنه و اونو در Console چاپ میکنه. متغیر C تنها برای پلاگین تعریف شده قابل استفاده هست و پلاگین میتونه روی اون تاثیر بزاره.

کدهای زیر رو تست میکنیم:

خروجی در Console:

دیدید که یک تابع بی نام تعریف کردیم و اونو بصورت مستقیم اجرا کردیم. بعنوان آرگومان ما شئ jQuery رو به تابع پاس دادیم. متغیری که درون این تابع تعریف بشه از بیرون قابل دسترسی نیست. مقدار این متغیر تنها با استفاده از پلاگین مورد نظر تغییر خواهد کرد.

ترفند 48 : شئ ها رو با استفاده از extend ادغام کنید

پلاگینی رو میشه خوب دونست که قابلیت شخصی سازی داشته باشه. اما چطور اجازه بدیم که پلاگین این قابلیت رو داشته باشه ، اگر بخوایم همزمان اون رو مجزا و متغیرهاشو خصوصی نگه داریم؟

این کار با اجازه دادن به کاربران که بتونن موارد مورد نظرشونو به پلاگین پاس بدن انجام میشه و با اینکار رفتار پلاگین رو تغییر میدن. یک مشکل دیگه پیش میاد و اینه که شما میخاید که مقادیر پیش فرضی رو برای اون پارامترها قرار بدین تا اگر کاربر چیزی رو وارد نکرد ، مقدار پیش فرض انجام بشه. این کارها با استفاده از متد قدرتمند extend انجام میشه.

در اینجا تعدادی از کارهایی که میشه با استفاده از این متد انجام داد رو قرار میدم.

ترکیب کردن ویژگی ها (کاربرد زیادی در پلاگین ها دارد):

کد زیر رو در نظر بگیرید:

میبینید که در خط اول یک شی تک عضوی تعریف شده و در خط بعد یک شی دیگه تعریف شده که در مقابل اون از متد extend استفاده شده. پارامتر اول که به این متد پاس داده میشه همون مقادیر پیش فرض هستن و پارامتر دوم اون مقادیری هست که میخایم بازنویسی و override بشن. اگر شئ options رو در Console چاپ کنیم ، چنین چیزی خواهیم دید:

میبینید که 400 جای 150 که مقدار پیش فرض هست رو گرفته.

شما میتونین حتی بیشتر از یک شئ هم پاس بدید:

خروجی:

میبینید که همه اشیاء ترکیب شدن.

کپی گرفتن از اشیاء:

شما میتونین با استفاده از پاس دادن یک شئ خالی بعنوان پارامتر اول ، از شی دوم یک کپی بگیرید:

در خط اول شئ اصلی قرار داده شده و در خط بعدی با استفاده از روش بیان شده از اون کپی گرفته شده. حالا اگر متغیر clone رو در Console چاپ کنیم به این نتیجه میرسیم:

تعریف پلاگین با استفاده از extend:

همونطور که دیدید همزمان دو پلاگین با استفاده از متد extend تعریف شده. حالا کد زیر رو اجرا میکنیم:

خروجی بصورت زیر خواهد بود:

اضافه کردن خصوصیت به jQuery:

اگر تنها یک شئ رو به extend پاس بدیم ، ویژگی های اون به jQuery اضافه میشن:

حالا با استفاده از روش زیر میتونین بهش دسترسی داشته باشین:

خروجی:

کپی گرفتن پیشرفته:

اگر در شئ موجود اشیاء دیگری هم بعنوان فرزند وجود داشته باشن ، باید یک پارامتر دیگه هم به متد extend پاس بدید:

فرض کنید میخایم دو شئ زیر رو ادغام کنیم:

اگر بصورت زیر عمل کنیم جوابی دریافت نمیکنیم:

باید بعنوان پارامتر اول true رو قرار بدیم:

خروجی:

استفاده از extend بیشتر در پلاگین ها هست و اگر بخواین پلاگینهاتونو با دیگران به اشتراک بزارید ، این مورد حتما نیازتون میشه.

امیدوارم از این مطلب خوشتون اومده باشه.

موفق و پیروز باشید

یا علی

Source

:: مطالب جدید سون لرن را از طریق ایمیل دریافت کنید :

دیدگاه ها اولین دیدگاه این مطلب را ارسال کنید.

ارسال دیدگاه

ورود/عضویت سریع با اکانت فیسبوک/جیمیل شما

:: شما می توانید با استفاده از اکانت یاهو یا جیمیل خود به صورت کاملا امن، سریع و بدون نیاز به ورود اطلاعات عضو و وارد سایت شوید. در این صورت هیچ نیازی به ورود نام کاربری و رمز عبور خود نخواهید داشت و هویت شما از طریق ایمیلتان مورد تائید قرار می گیرد .
برای استفاده از این روش باید در اکانت گوگل(جیمیل) و یا یاهوی خود لاگین باشید .
عضویت/ ورود سریع با :
در حال اتصال ...

ورود به سایت

ورود سریع با :
در حال اتصال ...

جستجو در سون لرن

عبارت :
7LearnTelegram