آموزش Java Script (بخش 3)

نحوه قرار گیری برنامه های 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 را شرح خواهیم داد.

بخش (۲)

شی گرایی و دینامیکی درمورد زبان 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 و چند برنامه ساده را شرح خواهیم داد.

آموزش جاوا (۱)

منبع: www.iritn.com

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

در این سری آموزش ها سعی خواهم کرد که دروس ومطالب را به صورت طبقه بندی شده و همراه با سادگی بیان و ذکر تمام جزئیات و مفاهیم ارائه کنم تا برای خوانندگان - با هر سطح معلومات - قابل استفاده باشد .
برای آموختن Java Script حتما باید یکسری اطلاعات اولیه و در واقع پیش نیاز در زمینه زبان HTML داشته باشید در میان هر درس , در صورت نیاز مواردی از HTML را ذکر خواهم کرد که در آموختن Java Script مفید خواهند بود . شما می توانید اطلاعات مفیدی در مورد زبان HTML در آدرس های زیر بدست آورید واگر سوالی در این زمینه داشتید در قسمت Java Script یا HTML تالار سایت مطرح نمایید .
http://www.davesite.com/webstation/html
http://www.htmlgoodies.com/primers/basics.html
http://www.pagetutor.com/pagetutor/makepage

بسیاری زبان برنامه نویسی 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 و حالت دینامیکی این زبان شرح داده خواهد شد.