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

مفهوم شی گرایی در جاوا اسکریپت - آشنایی با اشیاء در جاوا اسکریپت


مروری بر اشیاء در جاوا اسکریپت

JavaScript یک زبان برنامه نویسی شیء گرا می باشد. یک زبان برنامه نویسی وقتی شیء گرا نامیده می شود که 4 توانمندی اصلی را برای توسعه دهندگان فراهم نماید:

  • کپسوله سازی (Encapsulation) : توانایی برای ذخیره کردن اطلاعات مرتبط ، چه داده ها و چه متدها با یکدیگر در یک شیء.
  • تجمیع (Aggregation) : توانایی برای ذخیره کردن یک شیء در داخل شیء دیگر.
  • ارث بری (Inheritance) : توانایی یک کلاس بر تکیه بر خصیصه ها و متدهای کلاس دیگر (یا چند کلاس دیگر)
  • چند ریختی (Polymorphism) : توانایی نوشتن یک تابع یا متد به صورتی که بتواند به روش های گوناگونی کار کند.

اشیاء (Objects) از صفت ها تشکیل شده اند. اگر یک صفت شامل یک تابع باشد ، آن صفت به عنوان یک متد (method) از شیء مدنظر قرار می گیرد ، در غیر این صورت صفت به عنوان یک خصیصه (property) لحاظ می شود.

خصیصه های اشیاء

خصیصه های اشیاء می توانند شامل هر یک از سه نوع داده اولیه ، یا هر نوع داده انتزاعی باشند. خصیصه های اشیاء معمولاً متغیرهایی هستند که به صورت داخلی در متدهای شیء مورد استفاده قرار می گیرند ، اما آنها می توانند به عنوان متغیرهای سراسری قابل مشاهده نیز تعریف شوند که در تمام صفحات مورد استفاده قرار می گیرند.

قاعده نوشتاری (syntax) برای افزودن یک خصیصه به یک شیء به صورت زیر می باشد:

objectName.objectProperty = propertyValue;

مثال : کد زیر نام سند را با استفاده از خصیصه “title” از شیء document دریافت می کند:

var str = document.title;

متدهای شیء

متدها ، توابعی هستند که اجازه می دهند یک شیء برخی از کارها را انجام داده یا برخی از کارها بر روی شیء انجام گیرد. در اینجا فرق کوچکی بین یک تابع و یک متد وجود دارد: یک تابع به عنوان یک بخش مستقل  از دستورات می باشد ؛ در صورتی که ، یک متد به یک شیء ضمیمه شده و می تواند توسط کلمه کلیدی this مورد ارجاع قرار گیرد.

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

مثال : مثال ساده زیر ، نحوه استفاده از متد ()write از شیء document را برای نوشتن هر نوع محتوایی در سند ، نشان می دهد.

document.write("This is test");

اشیاء User-Defined

تمام اشیاء user-defined (تعریف شده توسط کاربر) و اشیاء built-in (داخلی) از نسل یک شیء می باشند که Object نامیده می شوند.

اپراتور new

اپراتور new برای ایجاد یک نمونه از یک شیء به کار می رود. برای ایجاد یک شیء ، اپراتور new قبل از متد constructor (سازنده) آورده می شود.

در مثال زیر ، متدهای constructor عبارتند از ()Object() ، Array و ()Date. این متدهای constructor جزء توابع داخلی جاوا اسکریپت می باشند.

var employee = new Object();
var books = new Array("C++", "Perl", "Java");
var day = new Date("August 15, 1947");

متد سازنده ()Object

یک constructor ، تابعی است که یک شیء را ایجاد کرده و مقداردهی اولیه می کند. JavaScript یک تابع constructor جداگانه به نام ()Object برای ساخت یک شیء فراهم می نماید. مقدار بازگشتی ()Objectبه یک متغیر تخصیص می یابد.

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

مثال 1

مثال زیر را امتحان نمایید. این مثال نحوه ایجاد یک شیء را نشان می دهد:

<html>
   <head>
      <title>User-defined objects</title>
      
      <script type="text/javascript">
         var book = new Object();   // Create the object
         book.subject = "Perl"; // Assign properties to the object
         book.author  = "Mohtashim";
      </script>
      
   </head>
   
   <body>
   
      <script type="text/javascript">
         document.write("Book name is : " + book.subject + "<br>");
         document.write("Book author is : " + book.author + "<br>");
      </script>
   
   </body>
</html>

خروجی

Book name is : Perl 
Book author is : Mohtashim

مثال 2

این مثال نحوه ایجاد یک شیء با یک تابع تعریف شده توسط کاربر را نشان می دهد. در اینجا ، کلمه کلیدی this برای ارجاع به شیئی استفاده شده که به یک تابع پاس داده شده است.

<html>
   <head>
   
   <title>User-defined objects</title>
   
      <script type="text/javascript">
         function book(title, author){
            this.title = title; 
            this.author  = author;
         }
      </script>
      
   </head>
   <body>
   
      <script type="text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         document.write("Book title is : " + myBook.title + "<br>");
         document.write("Book author is : " + myBook.author + "<br>");
      </script>
      
   </body>
</html>

خروجی

Book title is : Perl 
Book author is : Mohtashim

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

مثال های قبلی نحوه ایجاد شیء توسط سازنده و تخصیص خصیصه ها را نشان می دهند. اما ، ما نیاز به کامل کردن تعریف یک شیء از طریق تخصیص دادن متدها به آن داریم.

مثال

مثال زیر را امتحان نمایید؛ این مثال نحوه افزودن یک تابع همراه با یک شیء را نشان می دهد.

<html>
   <head>
   <title>User-defined objects</title>
   
      <script type="text/javascript">
         // Define a function which will work as a method
         function addPrice(amount){
            this.price = amount; 
         }
         
         function book(title, author){
            this.title = title;
            this.author  = author;
            this.addPrice = addPrice; // Assign that method as property.
         }
      </script>
      
   </head>
   <body>
   
      <script type="text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         myBook.addPrice(100);
         
         document.write("Book title is : " + myBook.title + "<br>");
         document.write("Book author is : " + myBook.author + "<br>");
         document.write("Book price is : " + myBook.price + "<br>");
      </script>
      
   </body>
</html>

خروجی

Book title is : Perl 
Book author is : Mohtashim 
Book price is : 100

 کلمه کلیدی ‘with’

کلمه کلیدی ‘with’ به عنوان یک اختصار برای ارجاع به خصیصه ها یا متدهای یک شیء مورد استفاده قرار می گیرد.

شیء مشخص شده به عنوان یک آرگومان برای with ، شیء پیش فرض برای طول بلوکی از کد است که در آن قرار دارد. خصیصه ها و متدها برای شیء می توانند بدون نام شیء مورد استفاده قرار گیرند.

Syntax

قاعده نوشتاری برای شیء with به صورت زیر می باشد:

with (object){
   properties used without the object name and dot
}

مثال

مثال زیر را امتحان نمایید:

<html>
   <head>
   <title>User-defined objects</title>
   
      <script type="text/javascript">
         // Define a function which will work as a method
         function addPrice(amount){
            with(this){
               price = amount;
            }
         }
         
         function book(title, author){
            this.title = title;
            this.author  = author;
            this.price = 0;
            this.addPrice = addPrice; // Assign that method as property.
         }
      </script>
      
   </head>
   <body>
   
      <script type="text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         myBook.addPrice(100);
         
         document.write("Book title is : " + myBook.title + "<br>");
         document.write("Book author is : " + myBook.author + "<br>");
         document.write("Book price is : " + myBook.price + "<br>");
      </script>
      
   </body>
</html>

خروجی

Book title is : Perl 
Book author is : Mohtashim 
Book price is : 100

اشیاء بومی جاوا اسکریپت

JavaScript چندین شیء بومی (native) یا داخلی (built-in) دارد. این اشیاء در هر نقطه از برنامه قابل دسترسی هستند و در هر مرورگری که بر روی هر نوع سیستم عاملی کار می کند ، عملکرد یکسانی دارند.

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

  • JavaScript Number Object
  • JavaScript Boolean Object
  • JavaScript String Object
  • JavaScript Array Object
  • JavaScript Date Object
  • JavaScript Math Object
  • JavaScript RegExp Object
فصلِ: 1 , تعداد قسمت ها: 4 , سطح: صفر تا صد

این فصل در یک نگاه:

در این مجموعه به آموزش کامل ckeditor از نصب آن تا شخصی سازی و افزودن امکانات اختصاصی به ان می پردازیم.…

با توجه به اینکه آموزش جامع و کاملی در مورد نحوه ایجاد و شخصی سازی یک ادیتور در وب سایت و صفحات وب، وجود نداشت برآن شدیم تا یک سری مجموعه آموزشی کامل و جامع در رابطه با این موضوع تهیه نماییم…
فصلِ: 1 , تعداد قسمت ها: 16 , سطح: صفر تا صد

این فصل در یک نگاه:

نود جی اس چیست؟-اموزش نصب نود جی اس-کار با فایل در نود جی اس-کار با پکیج http در نود جی اس-اموزش کار با npm manager -امو…

توضیحات کلی مجموعه: آموزش صفر تا صد برنامه نویسی nodejs(سورس کدها به همراه اموزش قسمت اخر می باشد) دراین دوره از ابتدا تا سطح حرفه ای نود جی اس رو به کاربران عزیز کلیک سایت اموزش میدیم تا …
فصلِ: 3 , تعداد قسمت ها: 76 , سطح: مقدماتی

این فصل در یک نگاه:

در این فصل پروژه ای را انجام خواهی داد که مباحث قبلی را تثبیت کنیمهم چنین مباحث جدید را یاد خواهیک گرفت از جمله:برنامه ر…

با سلام به حرفه ای ترین دوره ی js خوش آمدید این دوره با دو هدف طراحی و ضبط شده است 1-برای افرادی که قصد یادگیری حرفه ای js را دارند(به زودی قسمت های جدید برای این افراد اضافه خواهد شد) 2…
فصلِ: 2 , تعداد قسمت ها: 102 , سطح: صفر تا صد

این فصل در یک نگاه:

معرفی سنسور ها و قطعات خروجی…

توضیحات کلی مجموعه: ... با سلام خدمت شما کلیک سایتی های عزیز با جذاب ترین و کامل ترین دوره آموزش الکترونیک در خدمت شما هستیم. گاهی اوغات ایده ها یا اختراعی در حوزه الکترونیک به ذهن شما میرس…
فصلِ: 7 , تعداد قسمت ها: 401 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل به بروزرسانی های جاوااسکریپت پرداخته می شود…

توجه: این دوره دائما توسط مهندس روشنایی (مدرس دوره) بروز گردیده و مطابق با آخرین استانداردهای برنامه نویسی آپدیت می شود. توجه فرمائید دریافت آپدیت ها برای خریداران قبلی رایگان می باشد و نیاز…
فصلِ: 3 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل سوم…

آموزش طراحی ریسپانسیو مدرن و جذابتر نسبت به بوتسرپ (همراه با ساخت صفحه اصلی و پنل یک آژانس مسافربری) آموزش پروژه محور فریمورک متریالایز برای اولین بار بین وب سایت های آموزشی آموزش تمامی …
فصلِ: 5 , تعداد قسمت ها: 77 , سطح: متوسط

این فصل در یک نگاه:

ساخت منوی مدیریت سایت،ایجاد بخش دسته بندی ها ، جدول نمایش دسته ها و ایجاد دسته جدید،ایجاد بخش ویژگی های یک دسته،ایجاد وی…

این مجموعه با تلفیقی از فریمورک bootstrap  و کد های html و css  ارائه گردیده و پیش نیاز این آموزش ، دوره دیجی کالای آقای مهندس بلاغی است چون این پروژه در قالب mvc پیاده گردیده و با توجه به ا…
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 9 , تعداد قسمت ها: 215 , سطح: صفر تا صد

این فصل در یک نگاه:

در اصل فصل در مورد performance صحبت خواهیم کرد :-React Performance-Lazy-Error Boundaries و سایت را بر روی هاست واقعی قرا…

با سلام خدمت کلیک سایتی های عزیز، به دوره ی صفر تا صد طراحی سایت با react js خوش آمدید. نکته:این دوره کاملا پروژه محور میباشد نکته:این دوره هیچ پیش نیازی ندارد ReactJS  چیست؟ ReactJS اس…
فصلِ: 11 , تعداد قسمت ها: 162 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل(فصل یازدهم مجموعه)،به طراحی CMS (سیستم مدیریت محتوا)اختصاصی فروشگاه می پردازیم.هدف از طراحی این بخش،آنست که م…

در این مجموعه آموزشی قصد داریم از صفر تا صد طراحی یک فروشگاه اینترنتی رو به صورت کامل آموزش بدهیم.این فروشگاه شامل تمامی بخش های مورد نیاز یک فروشگاه اینترنتی است. هدف از این مجموعه،آموزش…
فصلِ: 8 , تعداد قسمت ها: 77 , سطح: صفر تا صد

این فصل در یک نگاه:

  پیشنهاد میکنیم دمو دوره رو حتما مشاهده کنید با سلام خدمت دوستان عزیز . ابتدا عرض کنم که این دوره برای دوستانی آماده شده که میخوان وب اپلیکیشن های مدرنی رو طراحی بکنن و وارد بازار کار ط…
فصلِ: 5 , تعداد قسمت ها: 201 , سطح: صفر تا صد

این فصل در یک نگاه:

ایجاد پروژه آژانس مسافرتی.....…

فصل اول: آشنایی با مبانی برنامه نویسی اندروید   آشنایی با معماری برنامه های اندرویدی ساخت شبیه ساز جهت تست پروژه اندروید آشنایی با دستور Toast و حلقه for در برنامه های اندروی…
فصلِ: 1 , تعداد قسمت ها: 2 , سطح: متوسط

این فصل در یک نگاه:

بهترین و پر بازده ترین روش تبدیل بازدیدکننده سایت به مشتری تبلیغات هدفمند و برند سازی هوشمندانه با ایمیل می باشد. ایمیل…

  وبینار(سمینار آنلاین) آموزش تکنیک های ایمیل مارکتینگ   اگر تا انتها این متن را مطالعه کنید نظر شما در مورد ایمیل مارکتینگ 180 درجه عوض می شود!! بر هیچکس پوشیده نیست که از سال 1972 که ای…
فصلِ: 4 , تعداد قسمت ها: 368 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث تکمیلی فریم ورک لاراول…

فصل اول :آموزش مقدماتی فریم ورک لاراول معرفی فریم ورک لاراول و پیشنیازهای انجام کار انجام کانفیگ های اولیه برای نصب و راه اندازی فریم ورک معرفی روش های نصب پروژه لاراولی از طریق سایت گی…
فصلِ: 1 , تعداد قسمت ها: 155 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث مقدماتی فریم ورک react.js…

توضیحات کلی مجموعه: فصل اول : آشنایی با مباحث مقدماتی فریم ورک react.js نصب و راه اندازی node.js  و کلیه پیش نیازهای لازم نصب فریم ورک react روی لوکال و انجام تست های لازم آغاز آشنایی …
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

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

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید