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

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



  آیا می دانید تا کنون 6336 نفر در 14 دوره آموزشی سون لرن ثبت نام کرده اند !

دوره مجازی جاوااسکریپت (جلسه 8): اشیاء و برنامه نویسی شی گرا در جاوااسکریپت

45 6109 ۹ خرداد ۹۴
در جلسه امروز در مورد بحث مهم شی گرایی و برنامه نویسی شی گرا در جاوا اسکریپت صحبت می کنیم. جاوااسکریپت یک زبان شی گرای classless یا بر اساس prototype هست و برای ایجاد کلاس های جدید روش خاص خود رو داره که با زبان های برنامه نویسی دیگه کمی متفاوته. با ما باشید تا نحوه ایجاد کلاس جدید، استفاده از اشیاء و نکات مهم دیگه رو فرا بگیرید . مطالب مطرح شده در این جلسه عبارتند از :
  •  توضیح در مورد ساختار ها حلقه ای forEach() و for..of و دلیل عدم بیان آن ها در این دوره
  • روش صحیح استفاده از حلقه for..in برای پیمایش اشیاء
  • توضیح در مورد مشکلات برنامه نویسی به صورت تابعی و عدم استفاده از اشیاء
  • مزیت های برنامه نویسی شی گرا
  • تعریف مسئله و ایجاد یک کلاس جدید و استفاده از آن (کلاس Car)
  • معرفی اشیاء و نحوه استفاده از آن ها در جاوااسکریپت
  • سه روش مختلف ایجاد اشیاء در جاوااسکریپت
  • مدل شی گرایی جاوااسکریپت (classless - prototype) و تفاوت آن با مدل های دیگر
  • constructor ها در جاوااسکریپت و مفهوم آن
  • کیورد this و کاربرد آن
  • نحوه تعریف کلاس(شئ) جدید در جاوااسکریپت
  • نحوه صحیح تعریف ویژگی های یک شئ درون آن
  • نحوه تعریف و افزودن متدها برای یک شئ
  • نحوه حذف و اضافه کردن متد و ویژگی به اشیاء
  • نحوه پاس دادن پارامتر ها به کانستراکتور شئ
  • ویژگی prototype و دسترسی به تعریف اصلی (اولیه) اشیاء در جاوااسکریپت
  • ذکر مثال هایی از اشیاء پیش ساخته در جاوااسکریپت و متدها و ویژگی ها آنان
  • مینی پروژه : تغیر پس زمینه صفحه وب به صورت رندم با کلیک رو بر روی یک دکمه
  • مینی پروژه : تولید کننده دکمه!!! ایجاد دکمه ای برای تولید دکمه های رنگارنگ و افزودن آنها به صفحه وب 
این مطلب یک جلسه از دوره آموزش جامع و پروژه محور جاوااسکریپت و جی کوئری (پایه تا پیشرفته) است و برای دیدن آن باید در این دوره ثبت نام کنید .
توضیحات : پس از استقبال فوق العاده شما عزیزان از دوره های PHP ، طراحی وب و فتوشاپ سون لرن، اینک دوره کامل و جامع جاوا اسکریپت و کتابخانه محبوب آن، جی کوئری را با هزینه ای معادل 25% کلاس های حضوری برای شما برگزار خواهیم کرد. در این دوره با هزینه ای بسیار اندک نسبت به کلاس های حضوری موجود، آموزش صفر تا صد و از پایه تا پیشرفته javascript و jQuery را برای شما تهیه و تولید خواهیم کرد. این دوره یکی از جذاب ترین دوره هایی خواهد بود که سون لرن قصد برگزاری آن را دارد. در طول دوره با انجام ده ها پروژه عملی، کاربردی و جذاب، شما را با قدرت بلامنازع جاوااسکریپت و جادوی آن در طراحی صفحات وب آشنا خواهیم کرد. حتما دموی دوره را از صفحه ثبت نام آن مشاهده بفرمایید !
:: مطالب جدید سون لرن را از طریق ایمیل دریافت کنید :

دیدگاه ها 45 دیدگاه برای این مطلب ارسال شده است.

  • ‏‏
    امین خلیلی(۱۵ خرداد ۱۳۹۴)


    جنا ب اوند در مثالی که اوردید ما اگر بخاهیم سه رنگ را به ترتیب با هر بار کلیک رو دکمه به بک گراند bodyاختصاص بدهیم به چه شکل باید بنویسیثم من هر چی امتنحان کردم و از حلقه ها هم استفاده کردم نشد البته ازتا بع rand نمیخام استفاده کنم میخامم به ترتیب کد بالا با هر بار کلیک رنگ ها استفاده بشه

    • ‏‏
      لقمان آوند(۱۵ خرداد ۱۳۹۴)

      اینو تست کنید ببینید میشه :

      • ‏‏
        امین خلیلی(۱۶ خرداد ۱۳۹۴)

        نه جواب نداد

        • ‏‏
          لقمان آوند(۱۶ خرداد ۱۳۹۴)

          ببخشید. در خط 4 جای ci و 3 توی کد بالا باید عوض میشد و باقیمانده ci بر 3 (تعداد رنگ ها) حساب میشد . در عین حال کد کاملترشو برات گذاشتم :

          تو این کد رنگ ها رو بدون تغیر در کد اضافه کنی …

        • ‏‏
          امین خلیلی(۱۶ خرداد ۱۳۹۴)


          به این شکل نوشتم
          استاد یه سوال چرا وقتی متغییر ciرا داخل تابع مینویسی برنامه کار نمیکنه ولی وقتی میبریش بیرون تابع کار میکنه

        • ‏‏
          لقمان آوند(۱۶ خرداد ۱۳۹۴)

          این کدت هم درسته البته یکم طولانی تر …
          چون داخل تابع متغیر محلی هست و عمرش فقط برای همون یک بار اجرای تابع هست و از بین میره مقدارش. ولی وقتی بیرون از تابع باشه سراسری هست و مقدارش پس از هر بار تغیر در تابع باقی می میونه …

        • ‏‏
          امین خلیلی(۱۷ خرداد ۱۳۹۴)

          استاد اوند

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

        • ‏‏
          لقمان آوند(۱۷ خرداد ۱۳۹۴)

          چون در هر بار اجرا دستور تعریفش اجرا میشه و ارایه از نو ساخته میشه… بحث این بود که اگه تغیرش بدی در صدا زدن های مختلف به اون تغیرات دیگه دسترسی نداری !

  • ‏‏
    bahman azari(۲۴ خرداد ۱۳۹۴)

    سلام ممنون،این جلسه،جلسه خوبی بود فقط در مورد شی گرایی و نوشتن کلاس در ECMAScript 5 و ECMAScript 6 تفاوت هایی به وجود اومده که بهتره دوستان هم ازش مطلع بشن:

    نوشتن کلاس در ECMAScript 5:

    نوشتن کلاس در ECMAScript 6:

    در ECMAScript 6 برای تعریف کلاس از کلیدواژه class مانند زبان php میشه استفاده کرد.مفهوم constructor هم که قبلا در ECMAScript 5 یک مفهوم بود الان به عنوان کلیدواژه میشه استفاده کرد.برای نوشتن متدها هم نیازی نیست که از کلیدواژه this استفاده کرد.کلا ساختار نوشتن خیلی بهینه تر شده.

    • ‏‏
      لقمان آوند(۲۵ خرداد ۱۳۹۴)

      ECMA 6 چون هنوز به صورت رسمی استفاده نمیشه ما در این دوره در موردش صحبت نمی کنیم .
      تغیرات دیگه ای هم تو این ورژن بوجود اومده که حالا زوده بخوایم در موردشون صحبت کنیم . چون مرورگرا فعلا ECMA 5.1 رو پیاده سازی کردن …
      ممنون از اطلاعات خوبی که دادید.

  • ‏‏
    mehdi karimi(۶ تیر ۱۳۹۴)

    خیلی جلسه خوبی بود
    استاد اصل جاوا اسکریپت همین شی گرایی هست ؟ یعنی منظورم اینه شی گرایی رو به طور کامل متوجه بشیم چند درصد راه رو رفتیم ( البته تمرین و تلاش جای خود داره )

    • ‏‏
      لقمان آوند(۶ تیر ۱۳۹۴)

      توی جاوااسکریپت بیشتر از اشیاء و متدهای پیش ساخته استفاده می کنید تا اینکه خودتون بخواید شی جدید تعریف کنید. همین که بتونید استفاده صحیح و کاربردی از اشیاء رو یاد بگیرید در جاوااسکریپت کلی کارتون پیش میفته .

      • ‏‏
        mehdi karimi(۶ تیر ۱۳۹۴)

        خیلی ممنون
        تو زبان php چطور ؟ یعنی مثلا جاوا که گفتیم رو مبنای شی گرایی هست ، php بر چه مبانیه و کدوم مبحثشو یاد بگیریم میتونیم مفهومشو خوب درک کنیم و جلو بیفتیم ؟

        • ‏‏
          لقمان آوند(۷ تیر ۱۳۹۴)

          سلام
          خیر php فقط شی گرایی نیست و برنامه نویسی رویه ای هم داره که زیادم استفاده میشه . توی جاوا نمیشه غیر oop کد نوشت ولی تو php هر دو روش امکانپذیره.
          هر دو روش رو یاد بگیرید خوبه. در دوره php در موردش صحبت کردیم.

        • ‏‏
          mehdi karimi(۷ تیر ۱۳۹۴)

          سپاس ❓ ❓

  • ‏‏
    mehdi karimi(۱۳ تیر ۱۳۹۴)

    سلام ، استاد من با createElement یک تگ input ایجاد کردم و با createAttribute هم یک attr درست کردم و مقدار type بهش دادم اما هرچی گشتم پیدا نکردم که چه جوری مقدار type رو مثلا بهش file بدم و بعد چه جوری این attr رو درون المنتی که ساختم بزارم
    هدفم اینه مثل سایت های آپلودسنتر با کلیک روی یک دکمه گزینه های آپلود فایل بیشتر شه

  • ‏‏
    mehdi eslami(۲۲ مرداد ۱۳۹۴)

    سلام وقتتون بخیر آقای آوند:
    یه سوال واسم پیش اومد من میخوام وقتی buttonهایی که به صورت راندوم ایجاد کردم و وقتی روی هر کدام از buttonها کلیک میکنم مقادیری رو برگردونه میشه بگید چطور این کار امکان پذیره؟ ممنون میشم

    • ‏‏
      لقمان آوند(۲۳ مرداد ۱۳۹۴)

      بااستفاده از متد querySelector در جاوااسکریپت (یا استفاده از جی کوئری) می تونید همه دکمه های موجود در صفحه وب رو بگیرید و در یه حلقه به همشون یه event اتچ کنید . جلوتر که برید متوجه میشید ایشالله …

  • ‏‏
    whossein@hotmail.com حسین آقاتبار(۷ فروردین ۱۳۹۵)

    با سلام و خسته نباشی خدمت شما ،یه انتقاد داشتم به نحوه درس و اونم اینه که حداقل در این جلسه خیلی در مورد موضعاتی که به نظر آسون میایند توضیح میدید و شاید میشد 33 جلسه را به 25 جلسه رسوندش و ما زودتر به هدف برسیم.

  • نکته : برای پاسخگویی سریعتر و بهتر، بخش نظرات این مطلب مختص پرسش و پاسخ های کاربران ثبت نامی در دوره ی دوره آموزش جامع و پروژه محور جاوااسکریپت و جی کوئری (پایه تا پیشرفته) است .
    اگر قبلا در این دوره ثبت نام کرده اید پس از ورود به سایت می توانید تمامی پرسش و پاسخ ها و نظرات مطرح شده ی این مطلب را مشاهده و اگر سوالی دارید در همینجا مطرح کنید.

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

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

    ورود به سایت

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

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

    عبارت :
    7LearnTelegram