javascript در 10 دقیقه
جاوا اسکریپت جزو زبان های اسکریپتی است که در وب کاربرد فراوانی دارد و از دیرباز مورد استفاده قرار گرفته است .البته این زبان در تعدادی از انجین های بازی سازی هم امکان اسکریپت نویسی را به انجین اضافه می کند که از جمله این انجین ها می توان به unity 3d ، cocos2d ، cocos2d-x اشاره کرد .از این رو خواستم تا یه بررسی کلی از زبان داشته باشیم .
انواع داده:
جاوا اسکریپت یک زبان داینامیک محسوب می شود به همین دلیل در این نوع زبان ها متغیر ها به صورت اتوماتیک به قالب نوع داده که در داخل آنها قرار گرفته است تبدیل می شوند و می توانید به راحتی از آنها استفاده کنید .
var intValue = 1; var floatValue = 3.0; var stringValue = "This is a string\n"; var sqString = 'This is also a string';
که از انواع اصلی موجود در زبان می توان به نوع داده int ,float , string اشاره کرد.
آرایه ها :
جاوا اسکریپت ساختار داخلی برای ارایه در نظر گرفته است که به صورت داینامیک مدیریت می شود .برای تعریف یک آرایه می توان از [] و یا تعریف به صورت (new Array(5 استفاده کرد
var emptyList = []; var homogenousList = [1, 2, 3]; var heterogenousList = ["one", 2, 3.0];
Maps:
Map را می توان نوعی ارایه در نظر گرفت که اندیس آن یک عدد صحیح نیست بلکه اندیس آن یک رشته تعریف شده توسط کاربر است .
همگی مثال های زیر یک نوع Map را تعریف می کنند
var emptyMap = {}; var homogenousMap = {"one": 1, "two": 2, "three": 3}; var heterogenousMap = {"one": 1, "two": "two", "three": 3.0};
جهت دسترسی به اعضای map می توان با هر دو روش زیر اقدام کرد .
window.alert("Homogenous map property \"one\" "+ homogenousMap.one); window.alert("Homogenous map property \"two\" " + homogenousMap["two"]);
به همین ترتیب هم می توان برای مقدار دهی استفاده کرد .
homogenousMap["one"] = 10; homogenousMap.two = 20;
با استفاده از delete هم می توان یک عنصر خاص را حذف نمود .
delete homogenousMap["one"]; delete homogenousMap.two;
جهت پیمایش هم می توان به سادگی در یک حلقه از آن استفاده کرد .
for (var key in heterogenousMap) { window.alert("Heterogenous map property \"" + key + "\" = " + heterogenousMap[key]); }
توابع :
توابع ابزاری است جهت استفاده مجدد از کد ها و دسته بندی این کد ها در قالب یک نام مشخص .در جاواسکریپت توابع نوعی شی هستند که مانند سایر نوع داده ها می توان ان را به عنوان پارامتر ارسال کرد ، یا آن را برگشت داد و ....
var callable = function (message) { // <-- notice assignment window.alert("Callable called with message = " + message); } function createClosure(initial) { var res = function () { initial = initial + 1; window.alert("Closure with modified state " + initial); } return res; } function callCallable(f, x) { f(x); } function composeCallables(f, g, x) { f(g(x)); }
اشیاء :
هر چیزی که شما در جاواسکریپت خواهید دید نوعی شی به شمار می روند .اشیاء لازمه برنامه نویسی شی گرا هستند .تمامی انواع داده ای که مورد استفاده قرار می گیرند را می توان به عنوان یک شی در نظر گرفت .
function MyObject(name, value) { this.name = name; this.value = value; }
در مثال بالا می توان با استفاده از کلید واژه this به داده های ارسالی به تابع دسترسی داشت .
هنگام استفاده از کلمه new یک شی ایجاد می شود و سازنده اجرا شده و دسترسی به شی در مراحل بعدی فراهم می شود .
متد ها :
داده های عضو یک شی نمی تواند همه نیاز ما را در برنامه سازی شی گرا تامین کند لذا ما نیازمند مفهومی به نام متد ها هستیم که عبارت اند از توابعی عضو یک شی که عملیات خاصی را در ارتباط با شی مورد نظر برای ما انجام می دهند .
function Message(message) { this.message = message; } Message.prototype.show = function() { window.alert("Message.show() with message = " + this.message); }
خاصیت prototype خاصیتی است که به صورت اتوماتیک برای شی مورد نظر ایجاد شده و از طریق آن می توان به تمامی اعضای کلاس و متد های آن دسترسی داشته باشیم .
پایان :
در پایان قابل ذکر است که موارد موجود در زبان javascript به مراتب بیشتر از مورادی است که در اینجا به صورت مختصر بیان گردیده است .بخش های مربوط به توابع و اشیا و سایر مسائل مربوط به شی گرایی هرکدام خود نیازمند توضیح مفصلی در حد یک فصل خواهد بود نه یک پارگراف .لذا این توضیحات فقط می تواند یک دید کلی از این زبان برنامه نویسی ارائه دهد .
در پایان خوشحال می شوم چنانچه مشکلاتی در متن وجود دارد توسط دوستان بیان شوند .