آموزش Java Script

در اين بخش مي‌توانيد در مباحث مربوط به برنامه نويسي تحت وب به بحث بپردازيد

مدیران انجمن: athlon64x2, abbas.m.k, شوراي نظارت

ارسال پست
Administrator
Administrator
نمایه کاربر
پست: 15889
تاریخ عضویت: جمعه ۷ بهمن ۱۳۸۴, ۷:۵۱ ب.ظ
سپاس‌های ارسالی: 72671 بار
سپاس‌های دریافتی: 31672 بار
تماس:

آموزش Java Script

پست توسط Mahdi1944 »

منبع: [External Link Removed for Guests]

Java Script در يك نگاه
با اطمينان كامل مي توان گفت « بيش از نيمي از كساني كه با دنياي اينترنت در ارتباط هستند حداقل يك بار اسم Java Script را شنيده اند » ولي با ديدن يك برنامه ساده كه توسط زبان Java Script نوشته شده , ديگر حتي حاضر نشده اند حتي يك بار ديگر اسم آن را بشنوند !!! Java Script در ابتدا بسيار سخت و حتي عذاب آور! به نظر ميرسد , ولي اصلاً اينطور نيست . فقط كمي تلاش و كوشش مي تواند شما را در آموختن اين زبان بسيار زيبا كمك كند .
در ابتدا مي خواهم مقدمه اي درباره Java Script بنويسم كه بسياري از مسائل مربوط به آن را آشكارتر كند , و مسائلي در مورد آن را بررسي كنيم تا ذهنيت هاي اشتباه در مورد Java Script را از بين ببرد .
در اين مقدمه يكسري موارد پايه در مورد زبان برنامه نويسي Java Script مورد بحث قرار مي دهيم كه دانستن انها براي درك بقيه مفاهيم آن الزاميست . مشكلات و موارد مبهم را در قسمت Java Script تالار گفتگوي سايت مطرح كنيد تا اين مشكلات را رفع كنيم .

در اين سري آموزش ها سعي خواهم كرد كه دروس ومطالب را به صورت طبقه بندي شده و همراه با سادگي بيان و ذكر تمام جزئيات و مفاهيم ارائه كنم تا براي خوانندگان - با هر سطح معلومات - قابل استفاده باشد .
براي آموختن Java Script حتما بايد يكسري اطلاعات اوليه و در واقع پيش نياز در زمينه زبان HTML داشته باشيد در ميان هر درس , در صورت نياز مواردي از HTML را ذكر خواهم كرد كه در آموختن Java Script مفيد خواهند بود . شما مي توانيد اطلاعات مفيدي در مورد زبان HTML در آدرس هاي زير بدست آوريد واگر سوالي در اين زمينه داشتيد در قسمت Java Script يا HTML تالار سايت مطرح نماييد .
[External Link Removed for Guests]
[External Link Removed for Guests]
[External Link Removed for Guests]

بسياري زبان برنامه نويسي Java Script را با زبان JAVA اشتباه مي گيرند و ايندو را يكي مي دانند ولي اصلا اينطور نيست ! JAVA زباني است كه در واقع نسخه پيشرفته تري از زبان C تحت ويندوز است در حالي كه Java Script يك زبان مستقل از هر زبان ديگري است , JAVA هم به صورت فايل اجرايي (Execute ) وهم در صفحات وب قابل استفاده و بكارگيري است در صورتي كه Java Script صرفا به منظور استفاده در وب و صفحات اينترنتي است . در درس هاي بعدي موارد ديگري از تفاوت ها يا شباهت هاي اين دو زبان را ذكر خواهم كرد ...

دو زبان Java Script و VB script متداول ترين زبان هاي برنامه نويسي اسكريپتي در وب مي باشند كه از ايندو , Java Script به دليل پشتيباني شدن توسط بيشتر مرورگرهاي وب مانند Microsoft Internet Explorer و Netscape Navigator نظر تعداد بيشتري از برنامه نويسان را به خود جلب كرده است .

زبان Java Script محصولي مشترك از دو شركت Sun Microsystem و Netscape Communications مي باشد كه مترجم هاي ان مرورگرهاي وبي هستند كه از آن پشتيباني مي كنند . (مترجم برنامه ايست كه كدهاي نوشته شده توسط برنامه نويس را بر اساس قواع00000000000000000000000000د همان زبان برنامه نويسي ترجمه كرده ونتايج اين پردازش را به كاربر نمايش مي دهد ) يعني وقتي كدهاي نوشته شده توسط JS (Java Script) توسط مرورگر IE (Internet Explorer ) خوانده مي شود , اين كدها توسط مترجم JS ي كه در ان تعبيه شده ترجمه ميگردد وحاصل اين ترجمه به بيننده ارائه مي شود .
گفتيم كه JS يك زبان اسكريپتي است . يعني برنامه هايي كه توسط آن مي نويسيم متن ساده هستند (text only documents ) و توسط هر ويرايشگري كه بتواند متن ساده ايجاد كند قابل ويرايش و مشاهده هستند . متداول ترين و ساده ترين آنها ويرايشگر Note Pad است كه در تمامي نسخه هاي ويندوز وجود دارد . دستورات زبان JS در بين تگ هاي خاصي از زبان HTML قرار مي گيرند (تک علامتي در زبان html است كه براي مشخص كردن دستورات اين زبان از متون ساده استفاده شده و شكل كلي آن به اين صورت است <دستور زبان HTML>) . در اين حالت script ها همراه با دستورات html و معمولا درون فايلي با پسوند htm يا html قرار ميگيرند . اين ساده ترين راه است . راه ديگر نوشتن برنامه ها به زبان JS , ايجاد فايلي با پسوند JS و نوشتن برنامه ها در ان است ، پس از اين كار فايل JS ي كه ايجاد كرده ايم را در داخل يك صفحه وب مسيردهي كرده و استفاده مي كنيم . مزايا ، معايب ، و چگونگي انجام آن را در دروس بعدي شرح داده می شود....
دربخش بعد مفهوم « شئ گرايي» در JS و حالت ديناميكي اين زبان شرح داده خواهد شد.
آخرین ويرايش توسط 1 on Mahdi1944, ويرايش شده در 0.
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[External Link Removed for Guests] | [External Link Removed for Guests] | مجله الکترونيکي سنترال کلابز

[External Link Removed for Guests] | [External Link Removed for Guests] | [External Link Removed for Guests]

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد
Administrator
Administrator
نمایه کاربر
پست: 15889
تاریخ عضویت: جمعه ۷ بهمن ۱۳۸۴, ۷:۵۱ ب.ظ
سپاس‌های ارسالی: 72671 بار
سپاس‌های دریافتی: 31672 بار
تماس:

پست توسط Mahdi1944 »

شي گرايي و ديناميكي درمورد زبان JS
در درس قبل آموختيم زبان js با صفحات وب چه ارتباطي دارد و دانستيم كه برنامه هاي زبان js در ميان TAG هاي زبان HTML قرار ميگيرد . اما حال بهتر است چگونگي ارتباط js با صفحات وب را بررسي كنيم .
هر چيزي كه شما در صفحه وب مي بينيد (و گاهي بعضي چيزهايي كه نمي بينيد ) و در تعريف كلي هر چيزي كه صفحه وب را تشكيل مي دهد , مثل دكمه ها ( button ) , فرم ها , عكس ها و هزاران چيز ديگر در صفحه وب , شي نام دارند . اين اشياء راه ارتباط JS با صفحات وب هستند و در واقع وظيفه اصلي JS كنترل اين اشياست . خاصيت شي گرايي (object-oriented) در JS باعث شده كه بتواند با بيشتر اشياء در صفحات وب ارتباط برقرار كند .
يك مثال ساده اين مفهوم را آشكارتر مي كند . اگر ما دنياي واقعي خود را در نظر بگيريم مي توانيم ميز ها , كتاب ها , سگ ها , گربه ها , انسان ها و همه و همه را شي بناميم . در صفحات وب نيز شي به همين معناست البته با اين تفاوت كه در صفحات وب بعضي از اشياء قابل مشاهده نيستند . در صفحات وب هر شي داراي خصوصيات و مشخصه هاي خاص خودش است كه در زمان بررسي هر شي به ان اشاره خواهم كرد .
همانطور كه گفتم اين اشياء بسيار زيادند . براي راحتي استفاده از آنها , گروه ها و زير دسته هايي در نظر مي گيريم و اين اشياء را در اين گروه ها طبقه بندي مي كنيم .
زبان HTML به تنهايي نمي تواند با اعمالي كه كاربر در درون صفحه وب انجام مي دهد ارتباط برقرار كند . و علاوه بر آن توانايي ايجاد جلوه هاي ويژه كه باعث جذابيت صفحه وب مي شود را ندارد . و چون كاربر نمي تواند به وقايع (Event ) و اشياء صفحه پاسخ دهد , حالتي كسل كننده براي او ايجاد مي شود . زبان JS به خوبي اين كمبود در صفحات وب را رفع مي كند و به صفحات حالت فعال مي دهد . در واقع JS اين ويژگي را به وسيله خصلت شي گرايي اش كسب كرده است .
مثلا وقتي شما اطلاعات نادرست به يك فرم در صفحه وب مي دهيد , JS با پيغامي مي تواند به شما اطلاع دهد . به صورت ساده تر مي توان گفت JS نوعي امكان انتخاب به كاربر و امكان پاسخ مناسب از طرف خود را مي دهد .
با يك مثال ساده تر , مفهوم آشكار تري را در اختيار شما قرار مي دهم . شما دوربين عكاسي را در نظر بگيريد كه بدون توجه به نور اطراف خود عكس برداري مي كند . اين دوربين را مي توان مانند حالت غير فعالي HTML در نظر گرفت . در سوي ديگر دوربيني را در نظر بگيريد كه بنا به نور اطراف خود , شفافيت عكس را تنظيم ميكند . اين دوربين را ميتوان مانند JS در نظر گرفت كه با محيط اطراف خود ارتباط برقرار مي كند وتصميمات لازم را مي گيرد و اعمال لازم را انجام مي دهد ( البته بر اساس خواست برنامه نويس ) .
حال با مثالي در خود JS بحث را تكميل مي كنم . فرض كنيد شما وارد صفحه وبي شده ايد . بنا به برنامه اي كه برنامه نويس نوشته است ابتدا پيغامي مبني بر اينكه (( آيا شما از رنگ صفحه خوشتان مي آيد ؟ )) توسط JS صادر مي شود . در صورت انتخاب جواب مثبت , رنگ صفحه تغيير نمي كند ولي در صورت منفي بودن پاسخ بنا به انتخاب خود شما يا برنامه نويس رنگ صفحه تغيير مي كند .
متاسفانه توسط برنامه نويسان مختلف تعاريف اشتباهي درباره مفهوم ديناميك بودن در زبان هاي برنامه نويسي ارائه مي شود . بسياري به اشتباه , به هر زباني كه شي گرا باشد ديناميك مي گويند.
من ابتدا نحوه اجراي JS را مورد بررسي قرار ميدهم تا به نتيجه نهايي برسيم .
دو مفهوم Client side languages و Server side languages به ما كمك فراواني مي كنند .
در اصطلاح به كامپيوتر كاربر يا بيننده صفحه , مشتري ( Client ) و به كامپيوتري كه به كامپيوتر هاي ديگر جهت مشاهده صفحات وب سرويس مي دهد , سرويس دهنده يا ميزبان (Server ) مي گوييم. برنامه ها و فايل هاي موجود در كامپيوتر ميزبان , به 2 صورت مي توانند براي كامپيوتر هاي مشتري مورد استفاده قرار گيرند . در حالت اول , فايل ها دقيقا به كامپيوتر مشتري انتقال يافته و آنجا ترجمه و اجرا مي شوند . در اين حالت درخواستي به ميزبان فرستاده شده و ميزبان اين درخواست را پردازش مي كند . سپس فايل درخواستي را بدون انجام هيچگونه عملياتي به مشتري مي فرستد . پس از انتقال فايل , مشتري فايل را دريافت ميكند . فايل توسط مرورگر ترجمه و اجرا مي شود . زبان هايي چون JS و HTML و CSS به اين صورت عمل مي كنند . زبان هايي كه به اين صورت اجرا مي شوند را Client side languages ( زبان هاي طرف مشتري ) مي گويند .اين زبان ها غير ديناميكي هستند زيرا سرويس دهنده هيچ نقشي در اجراي آنها ندارد .
در حالت دوم ابتدا فايل توسط مترجمي كه در كامپيوتر ميزبان تعبيه شده , در خود ميزبان ترجمه مي شود و سپس نتايج اين پردازش به مشتري ارائه مي شود . مرورگرهايي كه در كامپيوتر مشتري قرار دارند , نمي توانند برنامه هاي نوشته شده توسط اينگونه زبان ها را خودشان ترجمه و ا جرا كنند , بلكه نياز به نقش اساسي ميزبان در ترجمه آن دارند . اينگونه زبان ها را Server side languages يا زبان هاي طرف ميزبان مي نامند . اين زبان ها به دليل نقش داشتن ميزبان در فرايند ترجمه و در نتيجه امكان تغيير يا استفاده فعال از منابع ميزبان , حالت ديناميكي دارند . مهمترين اين زبان ها ASP , CGI و PHP هستند .
با استفاده از مفاهيم بالا به راحتي ميتوان نتيجه گرفت JS زباني ديناميكي نيست و فرايند هاي مربوط به آن روي كامپيوتر مشتري صورت مي گيرد .
در بخش بعدی چگونگي برنامه نويسي با JS و چند برنامه ساده را شرح خواهیم داد.
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[External Link Removed for Guests] | [External Link Removed for Guests] | مجله الکترونيکي سنترال کلابز

[External Link Removed for Guests] | [External Link Removed for Guests] | [External Link Removed for Guests]

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد
Administrator
Administrator
نمایه کاربر
پست: 15889
تاریخ عضویت: جمعه ۷ بهمن ۱۳۸۴, ۷:۵۱ ب.ظ
سپاس‌های ارسالی: 72671 بار
سپاس‌های دریافتی: 31672 بار
تماس:

پست توسط Mahdi1944 »

نحوه قرار گيري برنامه هاي JS در صفحات وب
در بخش هاي قبل مباني و مفاهيم اصلي JS را آموختيد . حال بهتر است ابتدا نحوه كاربرد اين زبان در وب را بياموزيد و سپس شروع به آموزش كاربردهاي JS نمايم .
بنا به آموخته هاي ابتدايي شما در مورد زبان HTML , بايد بياد آورده باشيد كه هر سند HTML از دو بخش اصلي تشكيل شده . قسمت سر سند يا Header و قسمت بدنه سند يا Body . در اصطلاح به متوني كه كدهاي يك صفحه HTML را تشكيل ميدهند « سند HTML » مي گويند .
قسمت سر سند حاوي اطلاعاتي است كه مشخصات كلي صفحه از قبيل عنوان صفحه ، نسخه به كار رفته از زبان HTML را مشخص مي كند . قسمت دوم بدنه صفحه مي باشد كه اجزاي اصلي صفحه از قبيل متن ها ، عكس ها و فرم ها در آن قرار مي گيرند . قسمتهاي بدنه و سر سند به وسيله «تگ» هاي خاصي از هم جدا مي شوند . در زير تقسيم بندي ايندو را مي بينيد .
HTML آغاز سند
< head > آغاز سر سند
< /head > پايان سر سند
< body > آغاز بدنه سند
< /body > پايان بدنه سند
< /html> HTMLپايان سند

برنامه هاي نوشته شده توسط JS به تناسب كاربرد مي توانند هم در قسمت سر سند و هم در قسمت بدنه سند قرار گيرند . ولي JS اكثرا در قسمت بدنه سند مورد استفاده قرار مي گيرد .

برنامه هاي JS براي مشخص شدن از كدهاي HTML داخل تگ قرار مي گيرند . توجه داشته باشيد كه تگ < SCRIPT > براي مشخص كردن آغاز برنامه JS و تگ < /SCRIPT > براي مشخص كردن پايان برنامه JS استفاده ميشوند و نوشتن هر دوي آنها در يك برنامه JS الزاميست.
دانستن اينكه براي هر برنامه JS بايد از تگ < SCRIPT > و < /SCRIPT > استفاده كرد بسيار مهم است .
همچنين مي توان در هر سند به تعداد نامحدود از تگ < SCRIPT > و < /SCRIPT > استواده كرد ولي استفاده از يك تگ < SCRIPT > و < /SCRIPT > در داخل ديگري به هيچ وجه در JS مجاز نيست .
در زير يك برنامه ساده كه توسط JS نوشته شده و يك پيغام خوشامد گويي به كاربر مي دهد آمده است . اين برنامه فقط براي آشنايي بيشتر شما با مفاهيم بالاست و نكات اساسي كه شما بايد در مورد آن بدانيد در زير آمده است . همچنين شماره هاي ابتداي هر سطر فقط براي نشان دادن شماره خطوط است و آنها جزء سند نيستند .
1 < html >
2 < head >
3 < /head >
4 < body >
5 < script language=”javascript1.2 ” >
6 document.writeln( "< font size=6 color=789867 >welcome to
this page< /font>" )
7 < /SCRIPT >
8 < /body >
9 < /html >
مطالب زير شما را در درك مفاهيم مورد نياز ما از كد هاي بالا ياري مي كنند .

_ رعايت تو رفتگي هاي سند در هنگام ايجاد آن الزامي نيست و فقط به خوانايي سند كمك مي كند.
_ ملاحظه مي كنيد كه در اين سند ، برنامه JS در قسمت بدنه سند آمده است .
_ در سطر 6 و در ميان تگ هاي < SCRIPT > و < /SCRIPT > برنامه ساده اي از JS آمده است كه فعلا دانستن جزئيات آن براي شما الزامي نيست .
_ در سطر 5 در داخل تگ < SCRIPT > عبارت language=”javascript1.2” نسخه JS مورد استفاده در اين اسكريپت ( برنامه نوشته شده توسط زبان JS ) را مشخص مي كند .
_ ذكر عبارت language=”javascript1.2” در برنامه الزامي نيست و فقط باعث مي شود مرورگرهايي كه نسخه هاي پايين تري از JS را پشتيباني مي كنند ، قادر به اجراي برنامه هاي JS نباشند .
_ با مشخص كردن نسخه اي از JS نسخه هاي بالاتر از آن نيز قابليت اجراي آن برنامه را خواهند داشت .
_هر نسخه از JS مربوط به دستوراتي است كه آن نسخه پشتيباني مي كند ؛ مثلا دستورات 1,1 JS در1,2 JS قابل اجرا هستند ولي در 0,1 JS خير .
_ در بررسي دستورات JS به توانايي پشتيباني آنها در نسخه هاي مختلف JS اشاره خواهم كرد ...

در بخش بعد پس از بررسي روشهاي ديگري از زبان JS ، آموزش مقدمات برنامه نويسي در JS را شرح خواهیم داد.
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[External Link Removed for Guests] | [External Link Removed for Guests] | مجله الکترونيکي سنترال کلابز

[External Link Removed for Guests] | [External Link Removed for Guests] | [External Link Removed for Guests]

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد
Administrator
Administrator
نمایه کاربر
پست: 15889
تاریخ عضویت: جمعه ۷ بهمن ۱۳۸۴, ۷:۵۱ ب.ظ
سپاس‌های ارسالی: 72671 بار
سپاس‌های دریافتی: 31672 بار
تماس:

پست توسط Mahdi1944 »

روش هاي ديگري براي استفاده از JS در صفحات HTML
در درس قبل با يك روش براي استفاده از JS در صفحات HTML آشنا شديم . در اين درس به ذكر 2 روش ديگر مي پردازم . توجه داشته باشيد كه ممكن است اين روش ها به طور كامل براي شما قابل درك نباشند ، ولي به هيچ وجه نگران نباشيد چون اين مطالب فعلا براي اين است كه شما بدانيد زبان Java Script با چه روش هايي مورد استفاده قرار مي گيرد و در مباحثي كه برنامه خواهيم نوشت بررسي بيشتري صورت خواهيم داد .
روش دوم باز هم مربوط به بحث شئ گرايي است . در اين حالت از استفاده JS در صفحات وب ، شما به راحتي و با استفاده از دستورات خاصي از JS تمام وقايعي كه بر روي اشياء صفحه روي مي دهد را كنترل مي كنيد و در مقابل آن عكس العمل دلخواه را نشان مي دهيد . اين دستورات كه وظيفه كنترل وقايع صفحه وب را دارند ، در كنار خود اشياء قرار مي گيرند و يكي از خصوصيات اشياء را تشكيل مي دهند .
فرض كنيد ما عكسي در صفحه وب داريم كه مي خواهيم به محض اينكه نمايشگر ماوس روي آن قرار گرفت پيغامي كه شامل توضيحاتي از عكس است براي كاربر صادر بشود .
وظيفه ما اين است كه كنترل كننده اي را مورد استفاده قرار دهيم كه تشخيص دهد « آيا ماوس روي شئ مورد نظر قرار گرفته يا خير ؟ » . و پس از تشخيص پيغام براي كاربر صادر بشود .
در پايين شما مي توانيد اين برنامه و توضيحات مفيدي در مورد آن را براي شما ارائه ميكنم .
1 < HTML >
2 < head >
3 < /head >
4
5 < body >
6 < img src="pic1.gif" onmouseover="alert('this pic is about
computers !!')" >
7 < /body >
8 < /HTML >
_ در درس قبل شما با تگهاي موجود در سطرهاي 1 ، 2 ، 3 ، 5 ، 7 و 8 آشنا شديد .
_ در سطر 6 از يك تگ HTML به نام IMG استفاده شده كه وظيفه اين تگ نمايش تصاوير و عكس ها در صفحات وب است .
_ در سطر 6 ، src يكي از خصوصيات مهم و معروف تگ Img است كه آدرس فايل عكس را مشخص مي كند .
_ و اما ONMOUSEOVER . اين همان خصوصيتي است كه شما آن را در سطر 6 و در داخل تگ IMG مي بينيد . اين عبارت همان كنترل كننده ماست كه وظيفه كنترل كردن ماوس در هنگام قرار گيري برروي شئ مورد نظر را دارد .
عبارت Onmouseover در لاتين به اين معناست ، «زماني كه ماوس روي آن قرار گرفت » .
_ بعد از علامت = و در داخل "" عكس العمل يا همان دستوريست كه ما مي خواهيم در صورت قرار گرفتن ماوس انجام گيرد . در اينجا از دستور Alert استفاده شده كه صفحه اي براي كاربر باز كرده و متن داخل پرانتز را نشان مي دهد .
_ در صورت قرار گرفتن ماوس روي عكس ، كاربر صفحه زير را مشاهده خواهد كرد .
_ حال عبارت onmouseover ، يكي از خصوصيات (Properties ) اين شي محسوب مي شود .
توجه داشته باشيد كه تحليل كد ها در اين زبان برنامه نويسي بسيار مهم است . مطمئن باشيد كه اگر بتوانيد كد ها را به خوبي براي خودتان تحليل كنيد در برنامه نويسي موفق خواهيد بود .
روش سوم براي استفاده JS در صفحات وب ، بيشتر مورد توجه حرفه اي ها و مورد استفاده در پروژه هاي بزرگ است . در اين روش شما برنامه هاي JS خود را در صفحه وب نمي نويسيد بلكه آن را در يك فايل جداگانه و با پسوند js. مي نويسيد . تنها كاري كه شما بايد براي استفاده اين فايل JS بكنيد اين است كه آن را در صفحه وب مسير دهي كنيد .
تگ Link راه حل شماست !!! اين تگ به شما كمك مي كند كه فايل JS خود را مسير دهي نماييد .
شكل كلي استفاده از اين تگ به صورت زير است .

دليل اينكه اين روش در پروژه هاي بزرگ استفاده مي شود را در مثال زير بررسي مي كنيم .
فرض كنيد شما بايد سايتي طراحي كنيد كه شامل 150 صفحه است و وظيفه داريد يك برنامه JS كه 10 كيلو بايت حجم دارد را در هر يك از اين 150 صفحه بكار ببريد . با يك حساب سر انگشتي مي فهميد كه با افزودن اين برنامه 10 كيلو بايت به صفحات ، 1500 كيلو بايت يعني يك و نيم مگابايت به حجم سايت شما افزوده مي شود و اين يك فاجعه است !!!!!!
در عوض شما مي توانيد به جاي استفاده كل برنامه در هر يك از صفحات ، با استفاده از تگ يك خطي Link ، در تمام اين 150 صفحه فقط فايل JS كه تنها 10 كيلو بايت حجم دارد را مسير دهي كنيد ؛ و اين يعني يك بهره وري خوب در حجم.هميشه به ياد داشته باشيد بهره وري حجمي در صفحات وب و طراحي سايت وب بسيار بسيار مهم است .
در بخش بعد كنترل كننده هاي وقايع در JS و عملگرهاي JS را براي شما تشريح مي كنیم ...
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[External Link Removed for Guests] | [External Link Removed for Guests] | مجله الکترونيکي سنترال کلابز

[External Link Removed for Guests] | [External Link Removed for Guests] | [External Link Removed for Guests]

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد
Administrator
Administrator
نمایه کاربر
پست: 15889
تاریخ عضویت: جمعه ۷ بهمن ۱۳۸۴, ۷:۵۱ ب.ظ
سپاس‌های ارسالی: 72671 بار
سپاس‌های دریافتی: 31672 بار
تماس:

پست توسط Mahdi1944 »

متغييرها و عملگرهاي JS
بعد از يك تاخير كوتاه مدت دوباره وارد دنياي زيباي JS مي شويم .در درسهاي قبل مطالب مقدماتي مهمي را تحت پوشش قرار داديم تا با زمينه اي مطلوب وارد بخش تجربي و عملي آموزش JS بشويم .
در اين درس علائم رياضي كه در JS كاربرد دارند را بررسي مي كنيم . در ابتدا به مفهوم «متغيير» مي پردازيم . در توضيحي بسيار ساده بايد بگويم ، متغيير مانند يك جعبه مي باشد كه بر اساس نوعش مي تواند اشياء و مقادير مختلفي را در خود جاي دهد .
طبيعي است كه هر يك از اين جعبه ها بايد براي خودش اسم خاص و منحصر به فردي داشته باشد تا از ديگر جعبه ها مجزا شده و قابل تمييز دادن باشد . متغيير ها نيز دقيقا حكم اين جعبه ها را دارند ، مقادير خاصي را مي پذيرند و با نام خاصي از بقيه جدا مي شوند .
و اما انواع متغيير ؛ يكي از معمول ترين و معروفترين نوع متغيير ها ، متغيير هاي عددي(numeric variables) هستند كه مي توانند اعداد مختلف را بدون محدوديت رقمي در خود جاي دهند . از اين متغيير ها مي توان براي اعداد اعشاري و منفي نيز استفاده كرد . براي مثال وقتي ما مي خواهيم عدد 348/3242 را به متغييري به نام mark نسبت دهيم بايد به اين صورت ، عمل مقدار دهي را انجام دهيم :
mark=3242.348

نوع ديگري از متغيير ها در JS متغيير هاي رشته اي (string variables) هستند كه مي توانند يك متن يا عبارت را در خود جاي دهند به عنوان مثال اگر بخواهيم عبارت world wide web را به متغيير www نسبت دهيم به اين صورت عمل مي كنيم :
www="world wide web"

توجه داشته باشيد كه بايد در آغاز و پايان عبارت علامت " (quotation mark) را قرار بدهيم .

دانستن اين نكته بسيار مهم است كه هيچگاه دو متغيير mark=3242.348 و "3242.348"=mark با هم برابر نيستند زيرا اولي يك متغيير عددي و دومي يك متغيير رشته اي است !!! پس هيچگاه از علامت "" براي متغيير هاي عددي استفاده نكنيد .
نكته مهم ديگر اين است كه نبايد در قسمت نام متغيير از علامت فاصله (space) استفاده كنيد به عنوان مثال متغيير w w w هرگز براي Java Script قابل قبول نيست و يك خطاي برنامه نويسي محسوب مي شود .
متغيير منطقي (Boolean variables) نوعي از متغيير است كه نسبت به بقيه انواع متغيير ها محدود تر است ، بدين معني كه فقط دو مقدار TRUE (درست) و False (نادرست) را مي پذيرد . از متغيير بولين (منطقي) اكثرا در نوشتن شرط ها در JS استفاده مي شود .
و اما متغيير شئ (Object Variables) كه از انواع مهم متغيير هاست . اين نوع از متغيير در اكثر برنامه هاي JS كاربرد دارد و در ان يك شئ يا اتفاق مربوط به آن شئ ذخيره مي شود . مثلا وقتي مي خواهيم شئ به اسم Core را در داخل متغييريبه نام Attribute جاي دهيم بدين صورت عمل مي كنيم:
Attribute=core


در مورد اين نوع متغيير در درس هاي آينده توضيحات بيشتري خواهم داد .
در پايان بحث مربوط به متغيير ها بهتر از به نكات بسيار مهم زير توجه كنيد :

_ زبان JS در تعريف نام متغيير ها به حروف بزرگ و كوچك حساس است يعني هيچگاه متغييرهاي Www ، WWW و www با هم برابر نيستند و JS هر يك را متغييري جداگانه مي داند .


_ هيچگاه نام يك متغيير با عدد شروع نمي شود . در ضمن استفاده از نقطه (.) و علامت هايي چون @ و $ و % در نام متغيير جايز نيست . پس متغيير هايي چون 12fm و se.r و rt@r براي زبان JS بي معني هستند .


_ براي نام يك متغيير نمي توان از كلمات رزرو شده JS مانند this ، comment ، case و بسياري ديگر استفاده كرد . تعداد كلمات رزرو شده در JS زياد است و من به مرور زمان به همه آنها اشاره خواهم كرد .


_ وقتي ما متغييري مانند "mark="world wide web را تعريف مي كنيم در واقع مقدار world wide web را به متغيير mark نسبت مي دهيم و تصور اينكه بر اساس اين دستور world wide web با mark برابر است ، تصوري كاملا نادرست است .

براي هر كسي كه اندكي اطلاعات پيش زمينه برنامه نويسي دارد واضح است كه هر زباني كه عملگرهاي رياضي چون جمع ، تفريق و غيره را نداشته باشد ، يك زبان ناقص بوده و فاقد يكي از اساسي ترين خصوصيات يك زبان برنامه نويسي است .
زبان JS داراي يكي از كاملترين علائم و دستورات رياضي است كه از نقاط قوت اين زبان به شمار مي رود . توجه داشته باشيد كه ما مي توانيم توسط اين عملگر ها بين دو يا چند متغيير يك يا چند عمل رياضي را انجام داده و حاصل را به يك متغيير ديگر نسبت دهيم .
ساده ترين عملگر اين زبان ، عملگر جمع است كه داراي نكات مهمي است . فرض كنيم دو متغيير به نام هاي m1=5 و m2=7 داشته باشيم كه هر دو متغيير عددي باشند . در اين صورت مي توانيم اندو را با استفاده از دستور زير با هم چمع كرده و داخل متغيير d قرار دهيم :
d=m1+m2

در اين حالت متغيير d داراي مقدار عددي 12 خواهد بود . نكته قابل توجه اين است كه از جمع دو متغيير عددي ، متغييري عددي به وجود مي آيد .
حال فرض كنيد دو متغيير m1 و m2 ي ما داراي مقدار رشته اي day و night باشند . در اين صورت در مورد حاصل جمع آنها داريم :
d=m1+m2

در حالت جمع دو مقدار رشته اي ، مقدار حاصل برابر است با مقادير دو متغيير در كنار هم ، يعني مقدار dبرابر خواهد بود با daynight ، و همانطور كه مشاهده مي كنيد هيچ فاصله اي بين دو مقدار نخواهد بود. حتما به اين نكته بسيار مهم توجه داشته باشيد كه هيچگاه m1+m2 با m2+m1 برابر نيست زيرا هميشه در جمع رشته اي مقدار متغيير دوم بعد از مقدار متغيير اول قرار خواهد گرفت يعني
r=m1+m2 پس : r=daynight
t=m2+m1 پس : t=nightday

ممكن است شما بخواهيد يك متغيير عددي را با يك متغيير رشته اي جمع كنيد . در اين صورت يك مقدار رشته اي از جمع دو متغيير بدست خواهد آمد . مثال زير مطلب آشكار تري در اختيار شما قرار مي دهد .
P="javascript"
t=239
f1=p+t پس : f1="javascript239"
f2=t+p پس : f2="239javascript"

نكته قابل توجه ديگر اين است كه در جمع دو متغيير منطقي ، مقدار TRUE برابر با 1 (يك) و مقدار FALSE برابر با 0 (صفر) محسوب خواهد شد .در واقع False را مي توان داراي مقدار پوچ و True را مي توان داراي مقدار كامل يعني 1 در نظر گرفت . اگر هر دو متغيير True باشند حاصل جمع انها برابر 2 خواهد بود ، در صورت FALSE بودن هر دو حاصل برابر صفر و در صورتي كه يكي True و ديگري False باشد حاصل برابر 1 خواهد بود .
چون در اين كلاس كاملترين مطالب و كوچكترين نكات در مورد مباحث مختلف JS ارائه مي شود ، اتمام هر مبحث در يك جلسه امكان پذير نيست پس ادامه بحث در مورد عملگر ها را به بخش بعد موكول مي كنيم ...
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[External Link Removed for Guests] | [External Link Removed for Guests] | مجله الکترونيکي سنترال کلابز

[External Link Removed for Guests] | [External Link Removed for Guests] | [External Link Removed for Guests]

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد
Administrator
Administrator
نمایه کاربر
پست: 15889
تاریخ عضویت: جمعه ۷ بهمن ۱۳۸۴, ۷:۵۱ ب.ظ
سپاس‌های ارسالی: 72671 بار
سپاس‌های دریافتی: 31672 بار
تماس:

پست توسط Mahdi1944 »

متغييرها و عملگرهاي JS قسمت دوم
دربخش قبل مطالب كاملي در مورد عملگر جمع در JS گفتم ، حال به عملگر تفريق مي رسيم كه حاوي نكات جالبي ست . دو متغيير عددي a=12 و b=7 را در نظر مي گيريم . ما مي توانيم عمل تفريق بين دو متغيير a و b را به دو صورت a-b و b-a انجام دهيم كه حاصل اين دو با هم برابر نيست !
a-b=12-7=5
b-a=7-12=-5

بر خلاف جمع دو متغيير رشته اي ، تفريق دو متغيير رشته اي امكان پذير نيست و در صورت تفريق ، در هر حالت ، حاصل برابر با رشته NaN به معني Not a Number خواهد بود . اين خصوصيت شامل تفريق يك متغيير رشته اي از عددي و بالعكس مي باشد . با يك مثال بحث را روشنتر مي كنيم .

فرض كنيد دو متغيير رشته اي "www"a= و "net"b= را تعريف كرده ايم ، در هر دو صورت تفريق a-b و b-a حاصل برابر NaN خواهد بود .
a="www"
b="net"
d=a-b
f=b-a
در نتيجه : d=f=NaN
و در صورت داشتن يك متغيير رشته اي و يك متغيير عددي :
a=12
b="net"
d=a-b
f=b-a
در نتيجه : d=f=NaN

پس به اين نتيجه كلي مي رسيم كه هر گاه يك متغيير رشته اي _ در هر حالت _ در عمل تفريق وجود داشته باشد حاصل عبارت رشته اي NaN خواهد بود .
در تفريق متغيير هاي «منطقي» به مانند جمع متغيير هاي رشته اي ، True مفهوم 1(يك) و False مفهوم 0 (صفر) خواهد داشت . به مثال زير توجه كنيد :

a=true
b=false
c=a-b
d=b-a
در نتيجه خواهيم داشت : c=1-0=1 و همچنين : d=0-1=-1
در اين مورد نيز a-b و b-a با هم متفاوتند .
حال عملگر ضرب را بررسي مي كنيم . براي انجام عمل ضرب از * استفاده مي كنيم . در اين حالت مي توان به ضرب دو عدد (چه صحيح و چه اعشاري) اشاره نمود كه به صورت زير تعريف مي شود .
c=a*b
بدين معني كه متغيير a در b ضرب شود و حاصل به متغيير c نسبت داده شود . در مثال زير به اين مطلب اشاره شده است .
a=12
b=3
c=a*b
d=b*a
در نتيجه داريم : c=d=36

مشاهده كرديد كه در ضرب تعويض جاي اعداد تاثيري در جواب ضرب نمي گذارد يعني a*b=b*a .
در صورت ضرب دو متغيير رشته اي يا يك متغيير رشته اي در يك متغيير عددي حاصل رشته NaN خواهد بود .پس نميتوان متغيير رشته اي را در هيچ نوع متغيير ديگر ضرب نمود .
حال به ضرب متغيير هاي منطقي مي رسيم . همانطور كه گفته شد ، true مفهوم يك و False مفهوم صفر دارد . در ضرب متغيير هاي رشته اي سه حالت پيش مي آيد :

1 _ در صورت ضرب دو متغيير منطقي True ، حاصل 1 خواهد بود .

2 _ ضرب دو متغيير منطقي false نيز حاصل صفر خواهد داشت .

3 _ در ضرب يك متغيير منطقي True در يك متغيير False ، جواب صفر بدست خواهد آمد .

پس به اين نتيجه مي رسيم كه در ضرب متغيير هاي منطقي فقط دو جواب 0و1 خواهيد داشت و فقط در صورتي جواب برابر 1 خواهد بود كه هيچ متغيير False ي در ضرب شركت نداشته باشد.و اما عملگر تقسيم . عملگري كه مي توان با استفاده از آن در JS عمل تقسيم را انجام داد « / » است . اولين موردي كه از اين عملگر بررسي مي كنيم ، حالت تقسيم دو متغيير عددي است .
فرض كنيد ما دو متغيير با نام هاي number1 و number2 با مقادير عددي 24 و 8 داشته باشيم.حال مي توانيم عمل تقسيم بين اين دو متغيير را به دو صورت number1/number2 و number2/number1 انجام دهيم كه در حالت اول نتيجه عدد 3 و در حالت دوم عدد 0.3333333333333333 خواهد بود .

نكته 1 : زبان JS در حالت اعشاري فقط تا 16 رقم اعشاري محاسبه مي كند .

نكته 2 : در عمل تقسيم هر عددي بر عدد صفر ، حاصل برابر با رشته Infinity به معني بينهايت خواهد بود .

در تقسيم يك متغيير رشته اي به يك متغيير عددي و بلعكس حاصل برابر با NaN خواهد بود . در تقسيم متغيير هاي منطقي ، حالت هاي زير به وجود مي آيد .
_ در تقسيم يك متغيير منطقي True بر True حاصل برابر با 1 خواهد بود
_ در تقسيم يك متغيير منطقي True بر False حاصل برابر با رشته Infinityخواهد بود
_ در تقسيم يك متغيير منطقي False بر True حاصل برابر با صفر خواهد بود
_ در تقسيم يك متغيير منطقي False بر False حاصل برابر با رشته Infinity خواهد بود
بخش مهم و اصلي عملگر ها در JS به پايان رسيد ، تعدادي از عملگر هاي ديگر را در زمان نياز شرح خواهم داد . در پايان سوالي را كه تعداد فراواني از دوستان پرسيده بودند به همراه پاسخي كه داده ام در اينجا قرار مي دهم .


سوال : با توجه به اينكه فواصل بين كلاس هاي شما زياد است,لطفا كتاب يا سايت مناسبي را براي مطالعه در بين كلاس هايتان معرفي نماييد.
پاسخ : باز هم از همه شما با خاطر وقفه بين كلاس ها عذر مي خوام . در مورد كتاب هاي فارسي من هيچ كتابي را پيشنهاد نمي كنم چون بسياري از انها نه تنها مطالب مفيدي ننوشتن بلكه مطالب اشتباهي هم در مورد JS نوشتن . و اما در مورد كتاب هاي انگليسي من كتابهاي كمپاني O'Reilly رو پيشنهاد مي كنم كه 100% مفيد هستند . كتاب JAVA SCRIPT اين كمپاني را David Flannagan نوشته و اين كتاب كاملا استاندارد است . اين كتاب به صورت آنلاين و مجاني قابل دسترسيست .من به زودي لينك داونلود اين كتاب رو با كمترين سايز ممكن براتون ميزارم تو يكي از درس ها ...
آدرس سايت كمپاني : [External Link Removed for Guests]
زندگي صحنه يکتاي هنرمندي ماست هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست خرم آن نغمه که مردم بسپارند به ياد


[External Link Removed for Guests] | [External Link Removed for Guests] | مجله الکترونيکي سنترال کلابز

[External Link Removed for Guests] | [External Link Removed for Guests] | [External Link Removed for Guests]

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد
ارسال پست

بازگشت به “Web Programming”