جاوا اسکریپت که آن را به اختصار js نیز مینامند، زبانی اسکریپتی است که در بیشتر مرورگرهای وب به عنوان بخشی از مرورگر پیادهسازی شده است و هدف از آن بهبود بخشید واسط کابری و تولید صفحات پویای وب است. البته استفاده از جاوا اسکریپت تنها به وب محدود نمیشود. در زیر انواعی از این استفادهها ذکر شدهاست:
- در گوگل کروم برای تولید pluginها از این زبان استفاده میشود.
- در نرمافزار geogebra برای رسم شکلهای هندسی و یا تحلیل آنها استفاده میشود.
- در نرمافزار adobe acrobat اجازهی استفاده از جاوا اسکریپت در فایلهای pdf داده شده است.
var x = 0 // note that semi colon is not important
var x = 0.5; // note dynamic typing var x = "JavaScript" var x = true var x = ["java", "script"] var x = {java: "java", script: "script"} // object
شی گرایی در جاوا اسکریپت
در جاوا اسکریپت، علی رغم بحثهایی که در مورد تفاوتهای شیگرایی در جاوا اسکریپت و دیگر زبانها وجود دارد، قابلیتهای شیگرایی بسیار وسیعی موجود است.
برنامهنویسی prototype-based
برنامهنویسی prototype-based سبکی از برنامهنویسی شیگراست که در آن کلاسها حضور ندارند و استفادهی مجدد رفتارها طی فرآیندی انجام میپذیرد که اشیای موجود را به عنوان مادهی اولیه بیاراییم.
اشیای مرکزی
جاوا اسکریپت اشیایی مرکزی دارد. نمونههایی از این اشیا عبارتاند از: Math, Object, Array و String.
کلاسها
در جاوا اسکریپت کلاس به صورتی که در دیگر زبانهای برنامهنویسی مانند جاوا وجود دارد، وجود ندارد. در عوض، جاوا اسکریپت از توابع به جای کلاسها استفاده می کند:
function Person () {}
اشیا
برای ساخت یک شی از یک کلاس کافی است از new برای یک تابع استفاده کنیم؛ به مثال زیر توجه کنید:
var person1 = new Person (); var person2 = new Person ();
سازنده
در جاوا اسکریپت، نیاز به نوشتن سازنده نیست، زیرا خود تابع در زمان ساخته شدن صدا زده میشود:
function Person () { alert ('Person instantiated'); }
صفت
خیلی شبیه C!
function Person (gender) { this.gender = gender; alert ('Person instantiated'); } var person1 = new Person ("Male");
متدها
برای تعریف یک متد، کافی است به صورت زیر عمل کنیم:
function Person (gender) { this.gender = gender; alert ('Person instantiated'); } Person.prototype.sayHello = function () { alert ('Hello'); } var person1 = new Person ('Male'); person1.sayHello ();
function Student () { // Call the parent constructor Person.call(this); } // Inherit Person Student.prototype = new Person (); // Correct the constructor pointer because it points to Person Student.prototype.constructor = Student; // Add sayGoodbye Student.prototype.sayGoodbye = function () { alert ('goodbye'); } var student1 = new Student (); student1.sayHello (); // Inherited from Person student1.sayGoodbye ();
منابع