نمایش نتایج: از شماره 1 تا 4 , از مجموع 4

موضوع: export کردن تابع و متغییر در es6

  1. #1
    عضو انجمن
    تاریخ عضویت
    Jun 2015
    نوشته ها
    194
    تشکر تشکر کرده 
    213
    تشکر تشکر شده 
    22
    تشکر شده در
    20 پست

    پیش فرض export کردن تابع و متغییر در es6

    به کد زیر توجه کنید :

    فایل style2.js ::::::::::

    کد HTML:
    var a=20;
    
    var num=30;
    function num(){
        alert('hi');
    }
    
    export {a,num}
    فایل style.js :::::

    کد HTML:
    import * as style2 from './style2';
    
    style2.num(); // کار نمیکنه
    
    alert(style2.num); // کار میکنه
    
    
    من یک متغییر با نام num و یک تابع با نام num دارم ( هم نام هستند )

    وقتی داخل style2.js اطلاعات style.js رو import میکنم , فقط میتونم از متغییر num استفاده کنم و نمیتونم از تابع num استفاده بکنم .

    چون اسم تابع و متغییر هم نام هست مشکل ایجاد میشه


    تشکر از دوستان

  2. # ADS




     

  3. #2
    عضو دائم T.Toosi آواتار ها
    تاریخ عضویت
    Jun 2015
    نوشته ها
    1,071
    تشکر تشکر کرده 
    278
    تشکر تشکر شده 
    2,936
    تشکر شده در
    1,329 پست

    پیش فرض پاسخ : export کردن تابع و متغییر در es6

    باسلام، برای درک این موضوع ابتدا باید با رفتار hoisting در جاوا اسکریپت آشنا باشید سپس باید بدانید در بالای scope ابتدا function ها سپس variable ها ساخته و تعریف می شوند به همین دلیل num شما overwrite و مقدار 30 را گرفته.

  4. تعداد تشکر ها ازT.Toosi به دلیل پست مفید


  5. #3
    عضو انجمن
    تاریخ عضویت
    Jun 2015
    نوشته ها
    194
    تشکر تشکر کرده 
    213
    تشکر تشکر شده 
    22
    تشکر شده در
    20 پست

    پیش فرض پاسخ : export کردن تابع و متغییر در es6

    نقل قول نوشته اصلی توسط T.Toosi نمایش پست ها
    باسلام، برای درک این موضوع ابتدا باید با رفتار hoisting در جاوا اسکریپت آشنا باشید سپس باید بدانید در بالای scope ابتدا function ها سپس variable ها ساخته و تعریف می شوند به همین دلیل num شما overwrite و مقدار 30 را گرفته.
    ممنون بابت پاسختون . راهکاری وجود داره که من بتونم تابعی با نام num و هم متغییری با نام num داشته باشم و بتونم از هردوشون استفاده بکنم ؟ درواقع در php این امکان وجود داره یعنی شما یک متغییر با نام num و یک تابع با نام num میسازید > هر وقت نوشتید num() تابع صدا زده میشه و هر وقت گفتید num متغییر صدا زده میشه .

  6. #4
    عضو دائم T.Toosi آواتار ها
    تاریخ عضویت
    Jun 2015
    نوشته ها
    1,071
    تشکر تشکر کرده 
    278
    تشکر تشکر شده 
    2,936
    تشکر شده در
    1,329 پست

    پیش فرض پاسخ : export کردن تابع و متغییر در es6

    نقل قول نوشته اصلی توسط <?php?> نمایش پست ها
    ممنون بابت پاسختون . راهکاری وجود داره که من بتونم تابعی با نام num و هم متغییری با نام num داشته باشم و بتونم از هردوشون استفاده بکنم ؟ درواقع در php این امکان وجود داره یعنی شما یک متغییر با نام num و یک تابع با نام num میسازید > هر وقت نوشتید num() تابع صدا زده میشه و هر وقت گفتید num متغییر صدا زده میشه .
    باسلام، در جاوا اسکریپت همه چی object است و با php تفاوت دارد، پی اچ پی به قول معروف fully object oriented نیست و فقط feature هایی مثل class، object, constructors, destructors و .. را پشتیبانی می کند. در نتیجه تنها راهی که شما دارید یک چیزی مثل زیر است :

    کد:
    var a=20;
    function num(){
        alert('hi');
    }
    num.num=30
    export {a,num}
    کد:
    import * as style2 from './style2';
    style2.num();
    alert(style2.num.num);

  7. تعداد تشکر ها ازT.Toosi به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. مشکل هنگام Export و Deploy در VMware
    توسط succes در انجمن سوالات و مشکلات
    پاسخ ها: 9
    آخرين نوشته: June 9th, 2014, 19:44
  2. Php myadmin export
    توسط 9000001 در انجمن سوالات و مشکلات
    پاسخ ها: 2
    آخرين نوشته: March 11th, 2014, 11:34
  3. نحوه Export دیتابیس حجیم از wamp
    توسط MihanTech در انجمن سوالات و مشکلات
    پاسخ ها: 2
    آخرين نوشته: September 14th, 2013, 12:54
  4. Export کردن یک کلومن از یک تیبل
    توسط LinuxHD در انجمن PHP-MySQL
    پاسخ ها: 4
    آخرين نوشته: August 29th, 2012, 03:43
  5. نصب فایل export شده ova در esxi
    توسط Faraz4u در انجمن وی ام ور Vmware
    پاسخ ها: 3
    آخرين نوشته: May 21st, 2012, 19:12

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •