راکت
حل شده

نحوه اشاره به property های یک object در javascript

7 پاسخ

درود عزیزان - چطور میتونم این مساله رو هندل کنم بهترین توضیح همین مثالم هستش ( به قسمت کامنتم توجه کنید لطف)
نکته : این مثالی که نوشتم کار نمیکنه !!

let obj1={
        title:'title1',
        text:'stackoverflow',
        function1:function(){
            /*how get title here ??*/
            console.log('title is : ',this.title)
        },
        function2:()=>{
            /*how get title here ??*/
            console.log('title is : ',this.title)
        }
    }
ثبت پرسش جدید

پاسخ‌ها

7
میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

بهترین پاسخ

یعنی چی جواب نمیده؟ چه جوابی مورد انتظارتون هستش؟

اگر می خواید پیغام های درون console رو ببیند، باید توابع حاضر در شی رو صدا بزنید. یعنی:

obj1.function1() // title is :  title1

obj1.function2() // title is :  undefined

همانطور که گفتم از توابع غیر پیکانی استفاده کنید. نتیجه مورد نظر حاصل میشه.

علی ولی‌نژاد
علی ولی‌نژاد
@AliValinejad

تخصص: طراح گرافیک و برنامه نویس

سلام @mohsen.mehri.business2
چرا بعد از اسم تابع، کاراکتر : (دونقطه) گذاشتید؟؟ احساس میکنم بصورت اشتباه تعریف کردید تابع رو (منظورم سینتکس هست)

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

هنگامی که دارید خصوصیات یک شی رو مقدار دهی می کنید، اگر تابع رو بصورت پیکانی بنویسید، مقدار this متفاوت از حالتی هستش که بصورت function می نویسید.
رویه مناسب اینه که از توابع پیکانی استفاده نکنید، همیشه با function مقداردهی کنید.

شاید پاسخ شما همین‌جا باشد

محسن مهری
محسن مهری
@mohsen.mehri6101

تخصص: برنامه نویس back-end با زبان php framework laravel

@AliValinejad
@milad
درود -آقای ولی نژاد این روش نوشتار از ecmaScript6 به بعد شدنیست.
درود جناب میلاد، همینطوری که میبینید بنده توی این object دو روش رو تست کردم اما جوابی نگرفتم .

رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

سلام وقتتون بخیر!

arrow function فقط جواب نمیده

var obj={
  count:10,
  reza:function(){
    alert(this.count);
  },
  eybaba:()=>{
    alert(this.count);
  }
}

obj.reza();
obj.eybaba();
محسن مهری
محسن مهری
@mohsen.mehri.business2

تخصص: full stack developer php laravel javascript vuejs

@milad
درود و وممنون
این رو توی گوگل کروم امتحان کردم.

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

خواهش می کنم، سرزنده باشین 👍

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام