تابع و شیء در جاوااسکریپت
در قسمت قبل با متغیرها و دستورات شرطی و انواع حلقهها آشنا شدیم؛ در این قسمت دو موضوع بعدی رو بررسی میکنیم و کارمون با سینتکسهای پایهای جاوااسکریپت تموم میشه.
موضوعهایی که در این مقاله بررسی میشن :
۱- تابع
۲- شیء
۱- تابع
در جاوااسکریپت هم مثل زبانهای دیگر برنامه نویسی میشه از توابع استفاده کرد. این توابع رو هم میتونید خودتون تعریف کنید و هم اینکه از توابع موجود در جاوااسکریپت استفاده کنید. برای تعریف تابع، ابتدا کلمهی function را بنویسید بعد از اون اسم تابع مورد نظر و به دنبالش جفت پرانتز که آرگومانها توی اون قرار میگیرن و بعد از اون هم آکولادها که کدها رو توی اونها مینویسیم.
function test(a1, a2) { console.log(a1 + a2); }
برای استفاده از تابع، اسم تابع و به دنبال اون آرگومانها رو به ترتیب توی پرانتز مینویسیم.
test(4, 5);
با نوشتن کد بالا عدد ۹ در console چاپ میشه.
میتونیم با کلمهی return یه مقدار رو از تابع برگردونیم. یعنی هرجایی که اسم تابع رو نوشتیم(به عبارت دیگه تابع رو صدا زدیم)، بعد از اجرا به جاش مقداری که در return اون تابع مشخص کردیم قرار میگیره.
function test2(a1, a2) { return a1 + a2; } console.log(test(4, 5));
کد بالا مقدار ۹ رو در خروجی چاپ میکنه. عدد ۴ و ۵ به عنوان آرگومان به تابع داده میشن و جمعشون که عدد ۹ هست به عنوان خروجی به جای (test(4, 5 قرار میگیره. به همین ترتیب میتونید مقدار بازگشتی رو توی یه متغیر قرار بدید.
var a = test(4, 5);
همچنین میتونیم یه تابع رو به محض تعریف کردن فراخوانی کنیم. به این صورت که دور تعریف تابع پرانتز میگذاریم و بعد از اون یه جفت پرانتز دیگه میذاریم(به معنی فراخوانی اون تابع) و آرگومانهامون رو توی اون مینویسیم.
(function test2(a1, a2) { console.log(a1 + a2); })(4, 5);
روش دیگهی تعریف تابع نسبت دادن اون به یه متغیر است. برای فراخوانی این تابع از اسم همین متغیر استفاده میشود.
var my_function = function() { console.log("this is my function"); }
روشهای دیگری هم برای تعریف تابع وجود دارند که در مقالهی جدا به طور مفصل بهشون پرداخته میشه.
۲- شیء
در جاوااسکریپت تقریبا همه چیز یک شیء محسوب میشه. این شیء گرایی یکم با شیءگراییهایی که در زبانهای دیگه وجود داره فرق داره. در جاوااسکریپت خبری از class نیست و شیءها بدون نمونه سازی از روی کلاس ساخته میشوند. سرراستترین راه ساخت شیء استفاده از روش زیر است:
var o = new Object(); o.x = 4; o.y = 7;
با استفاده از new object() شیءی به اسم o تعریف کردیم بعد از اون به خونهی x از شیء o مقدار ۴ رو دادیم و به خونهی y اون مقدار ۷ رو دادیم. اصطلاحا به x و y کلید و به ۴ و ۵ مقدار گفته میشود. یعنی همه چیز با جفت کلید و مقدار ثبت میشود.
کد بالا رو به شکل زیر هم میتوان پیاده سازی کرد. در کد زیر مفهوم کلید و مقدار بهتر معلوم میشه.
var o = {x:4, y:5};
هیچ خبری از new object نیست و همه چیز در یه خط نوشته میشه. روش سوم در ساخت شیء استفاده از تابع سازنده آن است، به این صورت که با نوشتن کلمهی new و فراخوانی تابع، یک شیء از آن ساخته میشود.
function test(a1, a2) { this.first = a1; this.second = a2; } var o1 = new test(4, 5); var o2 = new test(7, 8);
* کلمهی this به شیءی که در آن هستیم اشاره میکند. در اینجا وقتی در حال فراخوانی تابع test برای o1 هستیم، this.first یعنی o1.first و وقتی در حال فراخوانی test برای o2 هستیم، this.first معنی o2.first را میدهد.
همچنین هرکدام از مقدارهای یک شیء میتوانند نوع متفاوتی با بقیه داشته باشند.
var my_object = new Object(); my_object.a = 4; my_object.b = "hello";
علاوه بر اون میتونیم یک تابع رو به عنوان مقدار در نظر بگیریم.
var person = new Object(); person.name = "oon"; person.salary = function(date) { return date * 5500; }
برای دسترسی به این تابع هم مثل بقیه موارد عمل میکنیم.
console.log(person.salary(200));
مباحث جالب دیگهای هم از این بخش باقی مونده که به دلیل پیچیدگی بیشتر هرکدوم رو به طور مفصل تو یه مقالهی جدا بررسی میکنیم.
پیروز باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.