خلاصه مفید و جالب درباره obj

پرسیده شده
فعالیت 1639 روز پیش
دیده شده 946 بار
1

بحث شیرین obj  در جاوا اسکریپت بسیار بحث مهمی هست  ما  معمولا obj  ها  کاربرد زیادی در درست کردن فایل های json  داره  که مبنای درست کردن api  محصوب می شود. در obj  ها  که معمولا دارای دو قسمت بسیار مهم هست که استاد به خوبی به اونا اشاره کرد  یک قسمت کلید ها که  (keys) و یک قسمت  (values)   که از این کلید ها و مقدارها به صورت مکرر در برنامه های خودمون استفاده می کنیم .  مقدارهایی که می تونیم  در OBJECT  استفاده کنیم می تونند:  bool, string,null و number  باشند یک قابلیت که باز بسیار مهم هست  تعریف کردن آرایه ها درون  obj  هست ولی   تنها مقداری که ممنوع هستش تعریف کردن توابع function ها در obj  ها است و باید بسیار حواستون جمع کنید از این کار اجتناب کنید.   ولی اگر بخواهیم در توابع  function ها  ابجکت تعریف کنیم باید از ویژگی this  استفاده کنیم . 

دوستان اگه اشتباهی دید لطفا تصحیح کنید . ممنون میشم 

 

فایل پیوست

AMIR
AMIR

22 آبان 98

0
حذف شده

ممنون از توضیح تون

به جای محصوب باید نوشت محسوب

فایل پیوست

علیرضا کریمی نژاد

توسط

علیرضا کریمی نژاد

22 آبان 98

0
حذف شده

چرا نباید در آبجکت ها function تعریف کرد چه مشکلی ممکنه پیش بیاد؟

فایل پیوست

Soroosh

توسط

Soroosh

22 آبان 98

حذف شده
دقیقاٌ چرا !
[email protected]

3 آذر 98

0
حذف شده

انتهای مطلب رو اشتباه فرمودید ما در object میتوانیم تابع(متد) تعریف بکنیم و هیچ مشکلی ندارد اما اگر داخل آن تابع بخوایم از object پدر استفاده بکنیم برای این که بعدا مشکلی پیش نیاید از کلمه this استفاده بکنیم.

 

let user = {
  name: "John",
  age: 30,

  sayHi() {
    alert( user.name ); // leads to an error
  }

};


let admin = user;
user = null; // overwrite to make things obvious

admin.sayHi(); //

 

در اینجا چون از اسم object به جای this استفاده شده و بعدا آن object با null مقدار دهی شده دیگر غیرقابل دسترسی خواهد بود و بخاظر همین از this استفاده میشود.

let user = {
  name: "John",
  age: 30,

  sayHi() {
    // "this" is the "current object"
    alert(this.name);
  }

};

user.sayHi(); // John

 

 

فایل پیوست

رضا پروین

توسط

رضا پروین

22 آبان 98

حذف شده
سلام ممنون بابت توضیحاتت
AMIR

23 آبان 98

0
حذف شده

میشه توی obj یه method تعریف کرد ولی بصرفه نیست چون اون method فقط مختص به اون obj میشه مگر با استفاده کردن از Function.bind  یا Function.call و Function.apply.
 جلو تر با یاد گرفتن inheritance و استفاده از prototype ها یاد میگیریم که method ها و برخی از attribute ها رو به prototype اضافه کنیم تا همه ی obj ها آن ها رو به ارث ببرند تا برنامه بهینه تری داشته باشیم و مجبور نشیم برای ساختن یه obj مشابه دوباره این همه کد بزنیم و method ها نیز بین تمام obj ها به اشتراک گذاشته میشن و این یعنی یکبار در RAM فضا اشغال میکنند و این یعنی مصرف بهینه منابع.

فایل پیوست

amir yaghoobzadeh

توسط

amir yaghoobzadeh

23 آبان 98

حذف شده
Objectها بیشتر مواقع برای ساخت یک متغییر دم دستی و زودگذر استفاده میشوند.ولی class برای متغیرر هایی که دارای ساختار و خواص مشخص هستند استفاده میشن در ساختار یک نمونه از object میتوانیم هر موقع خواستیم دخل و تصرف کنیم، مثلا یک propertie به یک نمونه آن اضافه یا کم کنیم ولی نمیشود در ساختار class دست برد
Hedayat Kamalian

24 آبان 98

حذف شده
برای class میتوان متدهای استاتیک تعریف کرد که صرفا با نام کلاس قابل دسترس است ولی object همچین خاصیتی ندارد ذات کلاس برای ایجاد نمونه های مختلف همسان (instance ) ایجاد شده است برای همین به صورت پیشفرض دارای constructor است. برای object ها هم میتوان constructor ساخت ولی constructor ای که برای object ها میسازیم متفاوت است و در واقع یک Constructor Function است که بیشتر شبیه یک حقه (trick ) برای ساختن object های مشابه است. ولی در هر صورت بسیار کار آمد است
Hedayat Kamalian

24 آبان 98