آموزش javascript

جاوا اسکریپت زبان برنامهنویسی اسکریپت مبتنی بر اشیاء است که توسطNetScapeتولید شدهاست. این زبان، یک زبان شیگرا است که بر اساس استانداردECMA-262 Edition 3نوشته شدهاست. علیرغم اشتباه عمومی، زبان جاوا اسکریت با زبان جاوا ارتباطی ندارد، اگر چه ساختار این زبان به سی پلاس پلاس(++C)و جاوا شباهت دارد؛ که این امر برای یادگیری آسان در نظر گرفته شدهاست.از همین رو دستورهای متداول مانند if, for, try..catch ,"while"و... در این زبان هم یافت میگردند. این زبان میتواند هم به صورت ساخت یافته و هم به صورت شی گرا مورد استفاده قرار گیرد. در این زبان اشیاء با اضافه شدن متدها و خصوصیات پویا به اشیاء خالی ساخته میشوند، بر خلاف جاوا. بعد از ساخته شدن یک شی به روش فوق، این شی میتواند به عنوان نمونهای برای ساخته شدن اشیاء مشابه مورد استفاده قرار گیرد
javascript

جاوا اسکریپت (JavaScript) زبان برنامه نویسی HTML و وب است . با استفاده از برنامه نویسی می توان کامپیوتر را قادر به انجام کارها یا وظایف مورد نظر کرد .

JavaScript زندگی خود را با نام Live Script آغاز نمود، اما شرکت Netscape نام آن را، احتمالا به دلیل هیجانی که می توانست از سوی زبان Java به خود بگیرد، به JavaScript تغییر داد.

می توانید کدهای جاوا اسکریپت خود را که در تگ <script> تعریف نموده اید ، در هر جای صفحه وب مورد نظرتان قرار دهید ، اما بهترین روش این است که آنها را در تگ ابتدای صفحه ) تگ <head> ) بگنجانید .

جاوا اسکریپت در مرورگرهای مدرن فعال است، اما ممکن است نیاز به فعالسازی داشته باشد. در این مقاله، نحوه فعال کردن جاوا اسکریپت در همه مرورگرها را آموزش میدهیم.

دستورات جاوا اسکریپت را در کدام بخش از صفحه HTML باید قرار داد

در جاوا اسکریپت statements, دستوراتی هستند که توسط مرورگر وب اجرا می شوند .

یکی از مشخصه های اساسی هر زبان برنامه نویسی ، انواع داده ای ( Data Types ) است که توسط آن پشتیبانی می شود . جاوا اسکریپت امکان استفاده از سه نوع داده ای اساسی زیر را به کاربر می دهد :

خوشبختانه جاوا اسکریپت این قابلیت و انعطاف پذیری را دارد که می توانید کدهای آن را در هر جای صفحات HTML مورد نظرتان است ، قرار دهید . اما لیست زیر ، رایج ترین و مناسب ترین روش ها و مکان ها را برای قرار دادن این کدها معرفی می کند :

زبان JavaScript هیچ گونه توابع توکار (built-in) مربوط به چاپ و نمایش (print, display) ندارد .

Syntax یا دستور گرامری در حقیقت یک سری قوانین است که به وسیله ی آن می توان فهمید برنامه های جاوا اسکریپت چگونه ساخته می شوند .

از Comment ها در جاوا اسکریپت برای توضیح کد و بهبود خوانایی آن ها استفاده می شود . همچنین از توضیحات / comments می توانیم زمانی که می خواهیم کد جایگزینی را به جای کد اصلی امتحان کنیم, کمک بگیریم .

Variables / متغیرها ظرف هایی برای ذخیره ی مقادیر داده ها (data values) محسوب می شوند . در این مثال x, y و z هر سه متغیر هستند :

آن دسته از عملگرهای جاوا اسکریپت که برای محاسبه بکار می روند به ترتیب زیر هستند (مقادیر ثابت یا متغیر /literals or variables) :

عملگر جایگزین یا انتساب / assignment operator (=) یک مقدار به متغیر تخصیص می دهد.

نوع داده دسته بندی ای از انواع تایپهای موجود مانند اعداد صحیح (integer), بولی(boolean) و... است که ویژگیهایی از جمله : مقادیر قابل پذیرش توسط متغیر، عملیات قابل اجرا بر روی متغیر، معنای داده و حافظه مورد نیاز برای ذخیره متغیر را تعین می کند .

تابع (function) در جاوا اسکریپت عبارت است از یک مجموعه یا بلوکی از کدهای داخل آکولاد {} که برای انجام وظیفه ی (task) خاصی طراحی شده اند .

در جهان واقع اتومبیل یک object یا شئ محسوب می شود . یک اتومبیل دارای property یا خصوصیت هایی از قبیل وزن, رنگ و همچنین توابع یا method هایی از قبیل : start و stop دارد .

در زبان مبتنی بر اشیا جاوا اسکریپت، scope به مجموعه ی از متغیرها، اشیا و توابع گفته می شود که شما به آن ها دسترسی دارید.

در HTML رخدادها, اتفاقاتی هستند که برای عناصر (HTML) روی می دهند.

از رشته (string) به منظور ذخیره سازی و دستکاری نوشته یا متن در جاوا اسکریپت استفاده می شود. رشته در جاوا اسکریپت اصولا جهت ذخیره ی یک سری کاراکتر بکار می رود

متد indexOf() اولین مکان رخداد نوشته ی معین را در رشته برمی گرداند، در واقع تابع بیان شده شماره / اندیس مکان قرار گيری اولين نمونه يک حرف يا کلمه را در يک متغير متنی باز می گرداند.

زبان جاوا اسکریپت فقط یک نوع متغیر عددی دارد. متغیرهای عددی می توانند از نوع عددی یا اعشاری باشند.

توابع سراسری (global functions) را می توان برای تمامی نوع داده های (data type) جاوا اسکریپت بکار برد.

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

شی date در جاوا اسکریپت به برنامه نویس این امکان را می دهد که تاریخ و زمان را در صفحات وب مدیریت کند.

در کل سه فرمت مختلف تنظیم تاریخ در جاوا اسکریپت وجود دارد که به ترتیب زیر می باشد...

متدهای شی date به برنامه نویس اجازه ی بدست آوردن و تنظیم (مقدار) تاریخ و زمان را می دهد...

آرایه ها (در جاوا اسکریپت) چندین متغیر را در قالب تنها یک متغیر ذخیره می کنند یا به عبارتی دیگر آرایه یک متغیر خاص است که می توانید به طور همزمان چندین مقدار (بیش از یک مقدار) را در آن ذخیره نمایید.

قدرت زبان برنامه نویسی تحت وب جاوا اسرکیپت مبتنی بر توابع و متدهای توانمندی است که در آن بکار می رود...

شی Boolean در جاوا اسکریپت ، مشابه دیگر زبان های برنامه نویسی می تواند دارای یکی از مقادیر زیر باشد: true و یا false.

عملگرهای مقایسه در دستورات منطقی (logical statement) به منظور تشخیص برابری یا تفاوت بین متغیرها (یا مقادیر) بکار می روند.

دستورات شرطی را به منظور انجام عملیات خاص در صورت برقرار بودن شرایط معین بکار می بریم، بدین معنا که در صورت درست بودن شرط معین دستورات و عملیات معینی اجرا شود.

دستور switch در واقع بر حسب شرایط مختلف عملیات متفاوتی را انجام می دهد یا به عبارتی دیگر از اين ساختار هنگامی استفاده می شود که لازم باشد بر حسب مقادير مختلف يک متغير يا عبارت خاص، دستورات متفاوتی اجرا گردد.

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

همان طور که پیش تر تشریح شد، حلقه برای اجرای مجموعه دستورات (یک قطعه کد/code block) مادام اینکه شرط مشخصی برقرار باشد بکار می رود.

دستور break باعث می شود اجرا کدها یا دستورهای درون حلقه متوقف شود. با استفاده از این دستور می توان ادامه اجرای حلقه را متوقف کرده و کاملا از آن خارج شد. دستور continueحلقه جاری را متوقف می کند و با مقدار بعدی، اجرای حلقه را از سرمی گیرد.

Number() به عدد تبدیل می شود، String() به رشته تبدیل می گردد و Boolean() نیز به یک بولی (Boolean) تبدیل می شود.

Regular expression (عبارت منظم یا باقاعده) رشته یا توالی از کاراکترها است که یک یگ الگو جستجو (search pattern) تعریف می کند. برای انجام عملیات جستجو برای کلمات و یا کاراکترهای مورد نظر در متن یک صفحه می توان از این عبارات کمک گرفت .

دستور try به شما امکان می دهد قطعه کد را به منظور یافتن خطاهای احتمالی بررسی و آزمایش کنید. همچنین دستور catch به شما اجازه می دهد خطا را مدیریت کرده و اقدامات اصلاحی را در صورت رخداد خطا مشخص کنیم.

اشکال نرمافزاری یا bug، به خطاهای برنامهنویسی گفته میشود. به حل این مشکلات اشکالزدایی یا debugging میگویند. اشکال یاب (debugger) ابزار کمکی جهت ایجاد، آزمایش، اجرا، تغییر و خطایابی برنامه می باشد...

Hoisting در واقع به یک رفتار پیش فرض زبان جاوا اسکریپت اطلاق می گردد. این رفتار عبارتند از انتقال خودکار تعریف متغیر (variable declaration) به بالای حوزه (scope) جاری.

عبارت متنی "use strict" بیانگر این مسئله است که کدهای زبان جاوا اسکریپت باید در "strict mode" اجرا شوند. هدف اصلی استفاده از این حالت، انجام بررسی و checking مضاعف می باشد.

سعی کنید تا حد ممکن استفاده ی خود را از متغیرهای سراسری محدود کنید. این امر درباره ی نوع داده ها، توابع و اشیا (سراسری) نیز حکم می کند. متغیرها و توابع سراسری می توانند توسط دیگر اسکریپت ها بازنویسی (overwrite) شوند.

جاوا اسکریپت ممکن است در صورت استفاده ی نادرست برنامه نویس از عملگر تخصیص (=) بجای عملگر مقایسه (==) (در یک دستور ) نتایج ناصحیح یا غیر قابل پیش بینی ارائه دهد. دستور if که در مثال زیر بکابرده شده، به این خاطر که x مساوی 10 نیست، مقدار false بازمی گرداند.

فعالیت های داخل حلقه (loop) را به حداقل برسانید. حلقه ها یا به زبان انگلیسی loops فراوان در برنامه نویسی به کار می روند. هر دستور داخل ساختار حلقه، که شامل خود دستور for نیز می شود، به ازای هر بار تکرار (گام) حلقه اجرا می شود.

در جاوا اسکریپت، برخی از شناسه ها (identifier) کلمات رزرو یا ذخیره شده (reserved words) هستند که نمی توان آن ها را به عنوان اسم متغیر یا تابع مورد به کار برد.

JSON یک قالب یا فرمت برای ذخیره سازی و انتقال داده از سرویس دهنده (server) به صفحه ی وب (web page) می باشد. JSON یک استاندارد open source سبک برای انتقال داده ها است به ترتیبی که برای انسان نیز قابل خواندن باشد...

روش ها یا رهنمود های کدنویسی، دستور هایی برای کدنویسی صحیح و بهینه هستند که شامل موارد زیر می باشند ...
آموزش BOM در جاوا اسکریپت

cookie متغیری است که در رایانه ی کاربر ذخیره می شود و هر زمان که مرورگرِ رایانه ی نام برده، درخواستی را به سرویس دهنده ارسال کرد، cookie نیز همراه با آن فرستاده خواهد شد.

با استفاده از شی window.location می توان آدرس صفحه (URL) را بازیابی کرده و همچنین مرورگر را به یک صفحه جدید هدایت کرد.

شی window.navigator اطلاعاتی درباره ی مرورگر بازدید کننده را در خود ذخیره می کند. اين اطلاعات در رابطه با مرورگری می باشد، که کاربر در آن لحظه در حال مشاهده صفحه به وسیله ی آن می باشد.

کادر پیام یا هشدار زمانی بکار می ورد که بخواهیم از رسیدن اطلاعات به کاربر اطمینان کسب کنیم (به کاربر اطمینان دهیم که اطلاعات به وی ارسال شده).

این شی اطلاعات مربوط به history مرورگر را در خود نگه می دارد.

شی window.screen، دربردانده ی اطلاعاتی در رابطه با صفحه ی نمایشگر بازدیدکننده است.

مدل BOM یا (Browser Object Model) به جاوا اسکریپت این قابلیت را می دهد تا با مرورگر صحبت کند (تعامل داشته باشد).

کدهای جاوا اسکریپت را می توان در فواصل زمانی معین اجرا کرد.به این قابلیت (اجرای تابع در بازه های زمانی مشخص) زمان بندی رویدادها گفته می شود.
اعتبار سنجی در جاوا اسکریپت

چنانچه یکی از فیلدهای فرم تهی بود، تابع validateForm() پیغام "First name must be filled out" را نشان داده، در پی آن مقدار false را برمی گرداند و بدین ترتیب از ارسال فرم مورد نظر جلوگیری می کند.

این خاصیت چنانچه المان ورودی دربردارنده ی داده ی معتبر و مجاز باشد، true بازمی گرداند.
کتابخانه جاوا اسکریپت

جاوا اسکریپت دارای کتابخانه های متعددی می باشد. سه کتابخانه ی معروف این زبان عبارتند از: jQuery MooTools Prototype

برای استفاده از یک کتابخانه یا framework جاوا اسکریپت، باید آنرا به صفحه ی وب خود اضافه نمایید. به منظور افزودن کتابخانه به صفحه ی وب، باید از تگ <script> استفاده کرده و خاصیت src آن را به URL کتابخانه متصل (set) کنید

برای تست یک کتابخانه، لازم است آنرا به صفحه وب خود را اضافه کنید.برای اضافه کردن کتابخانه، باید از تگ lt;script>& استفاده نمایید و خاصیت src آنرا به URL کتابخانه متصل کنید
اشیاء در جاوا اسکریپت

جاوا اسکریپت یک زبان برنامه نویسی مبتنی بر شی است، بدین معنا که در صورت یادگیری کامل مفهوم آن، فراگیری زبان مزبور بسیار سهل می گردد.

خواص (properties) مقادیری متصل /مرتبط با شی جاوا اسکریپت می باشند. یک شی عبارتند از مجموعه ای نامرتب از خاصیت ها.

همان طور که در مباحث پیشین به آن اشاره شد، method یا به فارسی توابع عملیاتی هستند که روی اشیا انجام می دهیم.

هر شی ای که در جاوا اسکریپت با آن سر و کار داریم، یک نمونه ی اولیه (prototype) دارد.Prototype، یک خاصیت متعلق به تمامی اشیا جاوا اسکریپت است.
توابع در جاوا اسکریپت

برای تعریف یک تابع جدید در جاوا اسکریپت از کلیدواژه ی function استفاده می کنیم.

پارامترهای تابع، همان اسم هایی هستند که در تعریف تابع داخل پرانتز، درج شده اند.

چهار روش مختلف برای فراخوانی تابع وجود دارد. هر روش از نظر شیوه ی مقداردهی اولیه ی کلیدواژ ه ی this از روش های دیگر متمایز است.

متغیرهای جاوا اسکریپت می توانند محلی یا سراسری می باشند.می توان با استفاده از closure (بستار) یک متغیر را خصوصی (private) کرد.
HTML DOM در جاوا اسکریپت

به واسطه ی مدل شی گرای سند HTML ، جاوا اسکریپت می تواند به تمامی المان های سند HTML دسترسی پیدا کرده و در صورت نیاز آن ها را تغییر دهد.

متدهای HTML DOM، عملیاتی هستند که می توان روی المان های HTML اجرا کرد.

در مدل شی گرای سند HTML (HTML DOM)، صفحه ی وب (web page) در واقع همان document object (شی) است.

کاربرد عمده ی زبان جاوا اسکریپت، مدیریت و دستکاری المان های HTML است.برای این منظور، ابتدا باید المان را یافته و به آن دسترسی پیدا کنید.

مدل شی گرای سند HTML به جاوا اسکریپت این امکان را می دهد که محتویات المان ها را تغییر دهد.

مدل شی گرای سند HTML به زبان جاوا اسکریپت این اجازه را می دهد که سبک نمایش (style) المان های HTML را ویرایش کند.

مدل مبتنی بر شی سند HTML (مدل DOM) به جاوا اسکرپیت این امکان را می دهد که به رخدادهای HTML واکنش نشان دهد.

این امکان وجود دارد که event listener های (گوش فراخوان رخداد) متعددی به هر شی DOM (و نه لزوما اشیا HTML) افزود.

در مدل DOM می توانید با استفاده از رابطه ی گره ها (node relationship)، درخت گره (node tree) را پیمایش کنید.

به منظور افزودن یک المان جدید به HTML DOM، ابتدا باید المان مورد نظر (element node) را ایجاد کرده، سپس عنصر ایجاد شده را به المان موجود الحاق (پیوست) کنید.

Node list عبارت است از مجموعه ای از گره ها. متد getElementsByTagName()، یک مجموعه ای از گره ها (node list) را بازگردانی می نماید.
آموزش json

JavaScript Object Notation یا به اختصار JSON یک استاندارد باز (open) مبتنی بر متن و کم حجم برای انتقال دادهها است به گونهای که برای انسان نیز خوانا و قابل فهم باشد. JSON از زبان برنامه نویسی سمت کلاینت JavaScript در نشاندادن ساختمان دادههای (data structure) ساده و آرایههای انجمنی (associative arrays) برگرفته شده است. با وجود ارتباط عمیقی که فرمت مذکور با جاوااسکریپت دارد، JSON مستقل از این زبان است و مفسرهای آن تقریبا برای هر زبانی موجود هستند.

JSON سرنام واژگان JavaScript Object Notation یک استاندارد سبک، باز ، متنی و خوانا برای انسان جهت انتقال داده و جایگزینی برای xml است. قراردادهای مورد استفاده ی JSON برای تمامی برنامه نویسان از جمله برنامه نویس C، C++، Java، Python، Perl شناخته شده است که به شرح زیر می باشد:

در زیر نگاهی مختصر به ساختار نگارشی (syntax) فرمت JSON می اندازیم. ساختار نگارشی این فرمت در واقع زیرمجموعه ای از سینتکس JavaScript می باشد.


اشیا JSON را با زبان JavaScript ایجاد می کنند. در زیر روش های مختلف ایجاد اشیا JSON با استفاده از JavaScript را آموزش می دهیم:

Schema JSON یک ابزار قدرتمند است که ساختار و فرمت داده ای JSON را تعریف و اعتبار سنجی می کند. JSON Schema مزایای زیر را ارائه می دهد

JSON و XML هر دو فرمت های خوانا برای انسان جهت انتقال داده از طریق شبکه و مستقل از زبان هستند. هر دو فرمت مزبور از قابلیت ایجاد، خواندن/نوشتن و رمزگشایی (decode) پشتیبانی می کنند و توسط زبان های مختلف قابل خواندن هستند. با این حال JSON نسبت به XML تکنولوژی جدیدتری بوده و جایگزینی برای آن محسوب می شود. می توان JSON را بر اساس عوامل زیر با XML مقایسه کرد.

مبحث حاضر نحوه ی encode/decode اشیا JSON را با زبان برنامه نویسی سمت سرور PHP آموزش می دهد. آموزش را با آماده سازی محیط برای شروع برنامه نویسی با PHP آغاز می کنیم.

این مبحث نحوه ی decode/encode اشیا JSON را با استفاده از زبان برنامه نویسی Perl پوشش می دهد. ابتدا می بایست محیط را برای شروع به برنامه نویسی با Perl راه اندازی کنید.

این مبحث نحوه ی encode/decode کردن اشیا JSON در زبان برنامه نویسی Ruby را شرح می دهد. برای اینکه بتوان اشیا از نوع JSON را در زبان Ruby خواند (یا تبدیل کرد)، لازم است ماژول مربوطه ی آن را دانلود و نصب نمایید. برای این منظور می بایست ماژول Ruby gem را دانلود کنید. برای نصب ماژول مذکور دستور زیر را اجرا نمایید.

این مبحث نحوه ی encode/decode کردن اشیا JSON در زبان قدرتمند شی گرای Java را شرح می دهد. برای parse اشیا JSON در زبان Java لازم است ماژول مربوطه را دانلود و سپس نصب نمایید. در این آموزش ما ماژول JSON.simple را دانلود و نصب می کنیم. برای این منظور مکان قرار گیری فایل json-simple-1.1.1.jar را به متغیر محیطی (environment variable) به نام CLASSPATH اضافه می کنیم.

AJAX که مخفف واژگان Asynchronous JavaScript and XML (ترکیب ناهمزمان XML و JavaScript) است، یک تکنولوژی قدرتمند در سمت کلاینت برای تولید اپلیکیشن های تحت وب نامتقارن می باشد به طوری که بتوانند اطلاعات مورد نظر را به سرور ارسال و از آن (به صورت ناهمزمان) دریافت کنند بدون اینکه لازم باشد صفحه ی جاری از نو بارگذاری یا به اصطلاح refresh شود.