تور لحظه آخری
امروز : دوشنبه ، 18 تیر 1403    احادیث و روایات:  امام علی (ع):هر كس براى اصلاح خود، خويشتن را به زحمت بيندازد، خوشبخت مى‏شود هر كس خود را در لذت...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

اتاق فرار

خرید ووچر پرفکت مانی

تریدینگ ویو

کاشت ابرو

لمینت دندان

ونداد کولر

لیست قیمت گوشی شیائومی

صرافی ارکی چنج

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

رسانه حرف تو - مقایسه و اشتراک تجربه خرید

سرور اختصاصی ایران

تور دبی

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

پیچ و مهره

طراحی کاتالوگ فوری

دانلود کتاب صوتی

تعمیرات مک بوک

Future Innovate Tech

آموزشگاه آرایشگری مردانه شفیع رسالت

پی جو مشاغل برتر شیراز

قیمت فرش

آموزش کیک پزی در تهران

لوله بازکنی تهران

میز جلو مبلی

هتل 5 ستاره شیراز

آراد برندینگ

رنگ استخری

سایبان ماشین

قالیشویی در تهران

مبل استیل

بهترین وکیل تهران

شرکت حسابداری

نظرسنجی انتخابات 1403

استعداد تحلیلی

کی شاپ

خرید دانه قهوه

دانلود رمان

وکیل کرج

آمپول بیوتین بپانتین

پرس برک

بهترین پکیج کنکور

خرید تیشرت مردانه

خرید نشادر

خرید یخچال خارجی

وکیل تبریز

اجاره سند

وام لوازم خانگی

نتایج انتخابات ریاست جمهوری

خرید ووچر پرفکت مانی

خرید سی پی ارزان

خرید ابزار دقیق

بهترین جراح بینی خانم

تاثیر رنگ لباس بر تعاملات انسانی

خرید ریبون

ثبت نام کلاسینو

 






آمار وبسایت

 تعداد کل بازدیدها : 1805792166




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

eval() چه جوري كار ميكنه -


واضح آرشیو وب فارسی:سایت ریسک: t=18785">eval() چه جوري كار ميكنه naeim_crack 26 شهريور 1383, 10:25سلام اقا اين دستور eval(); كارش چيه و چه جوري كار مي كنه يك سوال ديگه هم داشتم من يك متغيير به شكل زير دارم pat="book" و هميشه اين متغيير pat عوض ميشه حالا من مي خوام مقدار متغيير رو توي يك مسير قرار بدم به شكل زير _root.*(var pat).text="naeim" مي خوام به جاي*(var pat) مقدار pat كه همون book هستش قرار بگيره مثل زير بشه يعني _root.book.text="naeim" مرسي fafa^mx 26 شهريور 1383, 10:50eval() برای تبدیل یک String به Object استفاده میشه! مصلا ما Object به نام "ali" نداریم!اما میتونیم آبجکتی به نام ali داشته باشیم!بنا بر این eval("ali") ==> ali naeim_crack 26 شهريور 1383, 13:48سلام در رابطه با eval بيشتر توضيح بدخ ببنيم كه به چه درد مي خوره قسمت دوم سوال كه خيلي مهمه هنوز مونده منتظرم idw 26 شهريور 1383, 14:20همونطوري كه بهت گفتم به نظرم براي سوال دومت بايد از object.porotoType يا يك همچين چيزايي بايد كار كنيد.حالا بايد پيداش كنيد توي رفرنس فلش :lol: عجب راهنمايي خفني. phoenix 27 شهريور 1383, 12:48من سعي مي كنم جواب هر 2 سوال را يكجا بدم: بعضي از زبانهاي برنامه نويسي اجازه تعريف كردن متغير به صورت dynamic را مي دهند بدين معني كه نام و مقدار متغير در runtime مشخص مي شود همچنين نام متغير مي تواند خود متغير باشد و يا در تتيجه يك فرايند منطقي بدست آيد. فلش يكي از اين زبانهاست. از زمان فلش 4 دو دستور eval و set براي ايجاد و بازخواني متغير ها وجود دارند. براي مثال براي ايجاد 10 متغير به نامهاي a 0 تا a 9 با مقدار هاي 0 تا 9 مي توان از set استفاده كرد: for(var i=0; i<10; i++) { set("a" + i, i); } همچنين براي بازخواني متغيرهاي بالا مي توان از eval استفاده كرد: for(var i=0; i<10; i++) { trace(eval("a" + i)); } eval وظيفه تبديل يك String را به Identifier و دستور set وظيفه نسبت دهي يك مقدار به يك متغير و ايجاد Identifer را به عهده دارند، Identifer در فلش هر آن چيزي است كه مقداري را در خود نگهداري مي كند مانند اسامي كلاسها، MovieClip ها، Object ها و يا متغير هاي ساده. اين دو دستور هر دو دستورهاي قديمي هستند شايد در يكي دو نسخه آيده فلش اين دستورات deprecate شوند. من تقريبا در هيچ جا استفاده اي براي اين دو دستور نمي بينم. از زمان فلش 5 امكان localize كردن data بر روي object ها با استفاده از Dot Notation و همچنين Bracket Notation وجود دارد بنابراين مي توان از اين روش به جاي استفاده از eval و set استفاده كرد: هنگامي كه يك متغير معلوم را در root_ تعريف مي كنيم مي توانيم از Dot Notation براي ايجاد و بازخواني استفاده كنيم: _root.variable = 1; trace(_root.variable); ولي وقتي بخواهيم يك متغير ديناميك تعريف كنيم Bracket Notation استفاده ميكنيم: _root["variable"] = 1; trace(_root["variable"]); اين شيوه كارامد تر و از نظر OO كاملتر از eval و set مي باشد بنابراين مثال بالا با اين روش به صورت زير در مي آيد: for(var i=0; i<10; i++) { this["a" + i] = i; } for(var i=0; i<10; i++) { trace(this["a" + i]); } استفاده هاي زيادي از Bracket Notation در فلش ميشود مثلا مي توان كليه property هاي يك Object را مرور كرد: obj = {val1:1, val2:2, val3:3, val4:4}; for(var i in obj) trace(i + ": " + obj[i]); و يا يك نكته بسيار جالب اينكه با استفاده از اين روش مي توان متغير هايي يا نام هاي غير مجاز ايجاد كرد: this["123"] = new Object(); this["123"]["@yahoo.com"] = new Object("[email protected]"); trace(this["123"]["@yahoo.com"]); در صورتي كه هرگز نميتوان اين متغيرها را به صورت Dot Notation استفاده كرد: trace([email protected]); // error naeim_crack 27 شهريور 1383, 16:35سلام phoenix دستت درد نكنه بابت اين توضيح كامل آقا يك مشگل پيش مياد اگه من بخوام به شكل زير عمل كنم اينو ببين tpath="_root.book.nima" [tpath].text="naeim"; ولي اين دستور اشتباه هستش و فلش اينو ايراد ميگره وحتما بايد به شكل زير باشه _root[tpath].text="naeim"; اين درسته ولي ديگه متغيير رو نمي خوني اما وقتي از eval استفاده كنيم فكر كنم بشه اما مشگل سر اين دستور هستش كه بعضي وقتها جواب رو درست ميده اما بعضي وقتي ميزنه سرش و ديگه كار نميكنه :lol: tpath="_root.book.nima" ttpath=eval(tpath); ttpath.text="naeim"; اگه دستور بالا كار كنه ديگه مشكلي پيش نمياد ولي كار نميكنه :cry: اين فايل رو يك بار درستش كردم كار ميكنه اما وقتي همون اكشن رو يه جاي ديگه ميبرم eval از كار ميوفته مرسي phoenix 27 شهريور 1383, 21:57در صورتي كه از absolute path استفاده كنيد و رشته اي كه با آن كار مي كنيد absolute path يك متغير باشد فقط با eval مي توان كار كرد: مثلا جايي از برنامه شما به صورت زير است: oo=targetPath(_parent); ll=oo+"."+dname; kk=eval(ll); trace("dname path ===> "+kk); اين كاملا درسته با كمي خلاصه سازي ميشه به اين صورت نوشتش: trace("dname path ===> " + eval(_parent+"."+dname)); اما هميشه مي توان از relative path و Bracket Notation استفاده كرد: trace("dname path ===> "+_parent[dname]); naeim_crack 27 شهريور 1383, 23:55سلام اقا دستت درد نكنه مشگلم حل شد خيلي جالب توضيح ميدي مرسي




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 4288]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن