PDA

View Full Version : با استفاده از function شی ایجاد کنیم



jamejam123
دوشنبه 28 بهمن 1392, 18:24 عصر
سلام و خسته نباشید به اساتید عزیز
چه جوری می شه با استفاده از function یه شی ایجاد کرد.
یه سوال دیگه
prototype به چی میگن؟
ممنون

cups_of_java
دوشنبه 28 بهمن 1392, 22:23 عصر
توی جاوا اسکریپت مفهوم کلاس و شی به اون شکل توی زبان های شی گرا وجود نداره و همه چیز توی این زبان تابع هستن. بنابراین با یک تابع می تونی مثل کانستراکتور یه شی جدید برخورد کنی. هر تابع یک فضای مخصوص خودش رو برای شما ایجاد میکنه که همون شی شما میشه و this هم تو اون تابع بهش اشاره میکنه. اسم اون تابع بنابراین مثل اسم کلاس شما می مونه دیگه!
function MyClass( i ) {
this.i = i;
}
var obj = new MyClass( 4 );
console.log( obj.i );

زبان جاوا اسکریپت یه زبان بدون نوع و پویا هستش. در این نوع زبان ها اصولن هر شی (به جای نوع) مثل یک محفظه از خصوصیات (چه تابع چه مقادیر) محسوب میشه که بهش میگن prototype اون شی. فکر کن مثل شمای اون شی می مونه یا مثل تعریف کلاس برای اون شی! وقتی شما توی یه prototype یه سری خصوصیات رو ادد میکنی. هر شی از اون protoype که بخواد ایجاد بشه توش اون خصوصیات هستن. بنابراین اضافه کردن متد و یا پراپرتی از طریق پروتوتایپ ها صورت میگیره توی جاوا اسکریپت:

MyClass.prototype.f = function() {
console.log( "I'm f" + this.i );
}

var obj2 = new MyClass(3);
console.log( obj2.f() );

geeking
سه شنبه 29 بهمن 1392, 08:56 صبح
در ادامه توضیحات دوستممون :دی


var t;
function objCreator(t) {
return {};
}
console.log(typeof objCreator(t));

var d;
d = objCreator(d);

console.log(typeof d);