<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[باشگاه کاربران روماک - JavaScript]]></title>
		<link>https://forum.romaak.ir/</link>
		<description><![CDATA[باشگاه کاربران روماک - https://forum.romaak.ir]]></description>
		<pubDate>Fri, 05 Jun 2026 23:26:58 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[طراحی چیدمان شبکه برای طراحی وب سایت پاسخگو]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=6550</link>
			<pubDate>Fri, 21 Jun 2019 22:38:23 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=1229">magbot</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=6550</guid>
			<description><![CDATA[<span style="color: #1e1e1e;" class="mycode_color"><span style="font-size: x-small;" class="mycode_size"><a href="http://magbot.ir/%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%DA%86%DB%8C%D8%AF%D9%85%D8%A7%D9%86-%D8%B4%D8%A8%DA%A9%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D9%88%D8%A8-%D8%B3%D8%A7%DB%8C%D8%AA-%D9%BE%D8%A7%D8%B3%D8%AE%DA%AF%D9%88/" target="_blank" rel="noopener" class="mycode_url"><span style="font-size: xx-large;" class="mycode_size"><span style="font-size: xx-large;" class="mycode_size"><span style="font-family: samim;" class="mycode_font">طراحی چیدمان شبکه برای طراحی وب سایت پاسخگو</span></span></span><br />
</a><span style="font-size: medium;" class="mycode_size">دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
</span><br />
 <br />
<br />
دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
</span></span><br />
<br />
<span style="color: #1e1e1e;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-family: samim;" class="mycode_font"><br />
طراحی پاسخگو، فرآیند تنظیم طرح است به طوری که تمام اطلاعات مهم را در یک روش قابل خواندن در هر نوع دستگاه یا صفحه نمایش ارائه می دهد. <br />
اکثر طراحان یک طرح شبکه مایع را انتخاب می کنند، زیرا ساده تر از طرح بندی های مبتنی بر شبکه در انواع دستگاه ها، طراحی شده است. <br />
<span style="color: #ff7864;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">جعبه ابزار طراح شما <br />
نامحدود دانلود: 500،000+ قالب های وب، مجموعه آیکون ها، تم ها و آژانس های طراحی</span></span><br />
<br />
مهم است بدانیم معنای شبکه های سیال قبل از شروع به فکر کردن در مورد طرح ها اهمیت دارد. توضیح بهتر از تعریف ارائه شده توسط ویکی پدیا در مایع نیست. <br />
<br />
<br />
سیال یک ماده است که به طور مستمر تحت جریان استرس برشی اعمال می شود - Wikipedia <br />
<br />
<br />
بنابراین، با توضیح تعریف بالا در شرایط عملی ساده، چیزها را روشن می کنم. در طراحی وب، مایع طراحی یا طرح ماست و استرس برش اندازه صفحه یا دستگاه کاربر خواهد بود. صرف نظر از اینکه دستگاه یا اندازه صفحه نمایش، اجزای طراحی سیال در جریان هستند و با محیط کاربر سازگار می شوند. <br />
<span style="color: #ff7864;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">اهمیت شبکه های مایع</span></span><br />
<br />
در شبکه های انطباق، ابعاد مبتنی بر پیکسل را تعریف می کنیم. از این رو باید عرض و ارتفاع را به صورت دستی در نمایشگرهای دستگاه خاص تنظیم کنیم. از آنجا که شبکه های سیال به طور طبیعی در ابعاد کانتینر اصلی خود جریان می یابند، تنظیمات محدودی برای اندازه ها و دستگاه های مختلف روی صفحه مورد نیاز است. <br />
<br />
<br />
دستگاه های موبایل کوچکتر می شوند و مردم ترجیح می دهند از آنها در کار شخصی خود استفاده کنند. از سوی دیگر، مانیتورهای رومیزی با وضوح بیشتر در حال افزایش هستند. بنابراین ما نمی توانیم برای طراحی های پاسخگو طراحی کنیم. <br />
<br />
<br />
مزیت شبکه سیگنال اینست که ما می توانیم حداکثر عرض را تنظیم کنیم و با توجه به محاسبات درصد بر روی صفحه نمایش بزرگتر کار خواهیم کرد.<br />
<span style="color: #ff7864;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">چگونه شبکه های مایع کار می کنند</span></span><br />
<br />
ما در طراحی داخلی شبکه های ثابت با سیستم 960px طراحی کردیم. سپس طرح با استفاده از اندازه های مختلف پیکسل در اندازه های مختلف صفحه نمایش سازگار شد. همه چیز در مورد طرح طرح مبتنی بر پیکسل بود. اکنون زمان برای ایجاد طرح های مبتنی بر درصد است که به عنوان طرح های مایع شناخته می شوند. <br />
<br />
<br />
در شبکه های مایع ما یک طرح حداکثر طرح را برای طراحی تعریف می کنیم. شبکه به تعداد مشخصی از ستونها تقسیم شده است تا طرح را تمیز و راحت اداره کند. سپس هر عنصر را با عرض و ارتفاع متناسب به جای ابعاد مبتنی بر پیکسل طراحی می کنیم. <br />
<br />
<br />
بنابراین هر زمان که اندازه دستگاه یا صفحه نمایش تغییر می شود، عناصر عرض و ارتفاع خود را با نسبت های مشخص شده به ظرفیت اصلی آنها تنظیم می کنند. <br />
<br />
<br />
قبل از اینکه ما به شبکه های مایع عمیق بکشیم، بیایید نگاهی به برخی طرح های مایع سرد برای بدست آوردن ایده هایی در مورد چگونگی کارکرد طرح های مایع. <br />
کارتریج آلوده <br />
<br />
<br />
<img src="http://magbot.ir/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%da%86%db%8c%d8%af%d9%85%d8%a7%d9%86-%d8%b4%d8%a8%da%a9%d9%87-%d8%a8%d8%b1%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88%d8%a8-%d8%b3%d8%a7%db%8c%d8%aa-%d9%be%d8%a7%d8%b3%d8%ae%da%af%d9%88/0.jpg%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=" loading="lazy"  alt="[تصویر:  div%3E%20%20%20%20%20%20%20%20%20%20%20%...v%20class=]" class="mycode_img" />مقالات مرتبط<br />
دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
<br />
</span></span></span><br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: xx-large;" class="mycode_size">دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
</span></div>
<span style="color: #000000;" class="mycode_color">[size=undefined]<br />
دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
<br />
[/size]</span><br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: xx-large;" class="mycode_size"><a href="http://magbot.ir//" target="_blank" rel="noopener" class="mycode_url">[/url]</span></div>
<span style="color: #000000;" class="mycode_color">[size=undefined]<br />
[url=http://magbot.ir//10-%D9%82%D8%B7%D8%B9%D9%87-%D9%BE%DB%8C-%D8%A7%DA%86-%D9%BE%DB%8C-%D9%82%D8%AF%D8%B1%D8%AA%D9%85%D9%86%D8%AF-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-%D9%87%D8%A7%DB%8C-%D8%A7%D8%B6%D8%A7%D9%81%DB%8C-%D8%A8%D9%87-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3]<span style="color: #1e1e1e;" class="mycode_color">[img=347.96875x347.96875]http://magbot.ir//10-%D9%82%D8%B7%D8%B9%D9%87-%D9%BE%DB%8C-%D8%A7%DA%86-%D9%BE%DB%8C-%D9%82%D8%AF%D8%B1%D8%AA%D9%85%D9%86%D8%AF-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-%D9%87%D8%A7%DB%8C-%D8%A7%D8%B6%D8%A7%D9%81%DB%8C-%D8%A8%D9%87-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3/10-%D9%82%D8%B7%D8%B9%D9%87-%D9%BE%DB%8C-%D8%A7%DA%86-%D9%BE%DB%8C-%D9%82%D8%AF%D8%B1%D8%AA%D9%85%D9%86%D8%AF-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-%D9%87%D8%A7%DB%8C-%D8%A7%D8%B6%D8%A7%D9%81%DB%8C-%D8%A8%D9%87-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3.jpg[/img]</span></a><br />
[/size]</span><br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: xx-large;" class="mycode_size">دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
</span></div>]]></description>
			<content:encoded><![CDATA[<span style="color: #1e1e1e;" class="mycode_color"><span style="font-size: x-small;" class="mycode_size"><a href="http://magbot.ir/%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%DA%86%DB%8C%D8%AF%D9%85%D8%A7%D9%86-%D8%B4%D8%A8%DA%A9%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D9%88%D8%A8-%D8%B3%D8%A7%DB%8C%D8%AA-%D9%BE%D8%A7%D8%B3%D8%AE%DA%AF%D9%88/" target="_blank" rel="noopener" class="mycode_url"><span style="font-size: xx-large;" class="mycode_size"><span style="font-size: xx-large;" class="mycode_size"><span style="font-family: samim;" class="mycode_font">طراحی چیدمان شبکه برای طراحی وب سایت پاسخگو</span></span></span><br />
</a><span style="font-size: medium;" class="mycode_size">دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
</span><br />
 <br />
<br />
دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
</span></span><br />
<br />
<span style="color: #1e1e1e;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-family: samim;" class="mycode_font"><br />
طراحی پاسخگو، فرآیند تنظیم طرح است به طوری که تمام اطلاعات مهم را در یک روش قابل خواندن در هر نوع دستگاه یا صفحه نمایش ارائه می دهد. <br />
اکثر طراحان یک طرح شبکه مایع را انتخاب می کنند، زیرا ساده تر از طرح بندی های مبتنی بر شبکه در انواع دستگاه ها، طراحی شده است. <br />
<span style="color: #ff7864;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">جعبه ابزار طراح شما <br />
نامحدود دانلود: 500،000+ قالب های وب، مجموعه آیکون ها، تم ها و آژانس های طراحی</span></span><br />
<br />
مهم است بدانیم معنای شبکه های سیال قبل از شروع به فکر کردن در مورد طرح ها اهمیت دارد. توضیح بهتر از تعریف ارائه شده توسط ویکی پدیا در مایع نیست. <br />
<br />
<br />
سیال یک ماده است که به طور مستمر تحت جریان استرس برشی اعمال می شود - Wikipedia <br />
<br />
<br />
بنابراین، با توضیح تعریف بالا در شرایط عملی ساده، چیزها را روشن می کنم. در طراحی وب، مایع طراحی یا طرح ماست و استرس برش اندازه صفحه یا دستگاه کاربر خواهد بود. صرف نظر از اینکه دستگاه یا اندازه صفحه نمایش، اجزای طراحی سیال در جریان هستند و با محیط کاربر سازگار می شوند. <br />
<span style="color: #ff7864;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">اهمیت شبکه های مایع</span></span><br />
<br />
در شبکه های انطباق، ابعاد مبتنی بر پیکسل را تعریف می کنیم. از این رو باید عرض و ارتفاع را به صورت دستی در نمایشگرهای دستگاه خاص تنظیم کنیم. از آنجا که شبکه های سیال به طور طبیعی در ابعاد کانتینر اصلی خود جریان می یابند، تنظیمات محدودی برای اندازه ها و دستگاه های مختلف روی صفحه مورد نیاز است. <br />
<br />
<br />
دستگاه های موبایل کوچکتر می شوند و مردم ترجیح می دهند از آنها در کار شخصی خود استفاده کنند. از سوی دیگر، مانیتورهای رومیزی با وضوح بیشتر در حال افزایش هستند. بنابراین ما نمی توانیم برای طراحی های پاسخگو طراحی کنیم. <br />
<br />
<br />
مزیت شبکه سیگنال اینست که ما می توانیم حداکثر عرض را تنظیم کنیم و با توجه به محاسبات درصد بر روی صفحه نمایش بزرگتر کار خواهیم کرد.<br />
<span style="color: #ff7864;" class="mycode_color"><span style="font-size: xx-large;" class="mycode_size">چگونه شبکه های مایع کار می کنند</span></span><br />
<br />
ما در طراحی داخلی شبکه های ثابت با سیستم 960px طراحی کردیم. سپس طرح با استفاده از اندازه های مختلف پیکسل در اندازه های مختلف صفحه نمایش سازگار شد. همه چیز در مورد طرح طرح مبتنی بر پیکسل بود. اکنون زمان برای ایجاد طرح های مبتنی بر درصد است که به عنوان طرح های مایع شناخته می شوند. <br />
<br />
<br />
در شبکه های مایع ما یک طرح حداکثر طرح را برای طراحی تعریف می کنیم. شبکه به تعداد مشخصی از ستونها تقسیم شده است تا طرح را تمیز و راحت اداره کند. سپس هر عنصر را با عرض و ارتفاع متناسب به جای ابعاد مبتنی بر پیکسل طراحی می کنیم. <br />
<br />
<br />
بنابراین هر زمان که اندازه دستگاه یا صفحه نمایش تغییر می شود، عناصر عرض و ارتفاع خود را با نسبت های مشخص شده به ظرفیت اصلی آنها تنظیم می کنند. <br />
<br />
<br />
قبل از اینکه ما به شبکه های مایع عمیق بکشیم، بیایید نگاهی به برخی طرح های مایع سرد برای بدست آوردن ایده هایی در مورد چگونگی کارکرد طرح های مایع. <br />
کارتریج آلوده <br />
<br />
<br />
<img src="http://magbot.ir/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%da%86%db%8c%d8%af%d9%85%d8%a7%d9%86-%d8%b4%d8%a8%da%a9%d9%87-%d8%a8%d8%b1%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88%d8%a8-%d8%b3%d8%a7%db%8c%d8%aa-%d9%be%d8%a7%d8%b3%d8%ae%da%af%d9%88/0.jpg%20%20%20%20%20%20%20%20%20%20%20%20%3C/div%3E%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class=" loading="lazy"  alt="[تصویر:  div%3E%20%20%20%20%20%20%20%20%20%20%20%...v%20class=]" class="mycode_img" />مقالات مرتبط<br />
دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
<br />
</span></span></span><br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: xx-large;" class="mycode_size">دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
</span></div>
<span style="color: #000000;" class="mycode_color">[size=undefined]<br />
دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
<br />
[/size]</span><br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: xx-large;" class="mycode_size"><a href="http://magbot.ir//" target="_blank" rel="noopener" class="mycode_url">[/url]</span></div>
<span style="color: #000000;" class="mycode_color">[size=undefined]<br />
[url=http://magbot.ir//10-%D9%82%D8%B7%D8%B9%D9%87-%D9%BE%DB%8C-%D8%A7%DA%86-%D9%BE%DB%8C-%D9%82%D8%AF%D8%B1%D8%AA%D9%85%D9%86%D8%AF-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-%D9%87%D8%A7%DB%8C-%D8%A7%D8%B6%D8%A7%D9%81%DB%8C-%D8%A8%D9%87-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3]<span style="color: #1e1e1e;" class="mycode_color">[img=347.96875x347.96875]http://magbot.ir//10-%D9%82%D8%B7%D8%B9%D9%87-%D9%BE%DB%8C-%D8%A7%DA%86-%D9%BE%DB%8C-%D9%82%D8%AF%D8%B1%D8%AA%D9%85%D9%86%D8%AF-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-%D9%87%D8%A7%DB%8C-%D8%A7%D8%B6%D8%A7%D9%81%DB%8C-%D8%A8%D9%87-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3/10-%D9%82%D8%B7%D8%B9%D9%87-%D9%BE%DB%8C-%D8%A7%DA%86-%D9%BE%DB%8C-%D9%82%D8%AF%D8%B1%D8%AA%D9%85%D9%86%D8%AF-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-%D9%87%D8%A7%DB%8C-%D8%A7%D8%B6%D8%A7%D9%81%DB%8C-%D8%A8%D9%87-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3.jpg[/img]</span></a><br />
[/size]</span><br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: xx-large;" class="mycode_size">دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
</span></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا اسکریپت - فانکشن]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=5359</link>
			<pubDate>Tue, 22 May 2018 00:10:57 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=34">mesterweb</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=5359</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">در دهمین جلسه آموزش جاوا اسکریپت ، به آموزش فانکشن‌ها می‌پردازیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">فانکشن‌ها در واقع تکه‌کدهایی هستند که قرار است یک یا چند عملیات کلی را روی کد ما اعمال کنند. فانکشن‌ها مانند اکشن‌هایی هستند که می‌توانند کار خاصی را در زمانی که ما از آن‌ها می‌خواهیم تکرار کنند. برای درک بهتر عملکرد فانکشن‌ها، بدن انسان را در نظر بگیرید. قلب وظیفه پمپاژ و خون‌رسانی را به تمامی اعضای دیگر بدن دارد. قلب به‌عنوان یک فانکشن اصلی در بدن، یک وظیفه مشخص دارد. این فانکشن، یک ورودی دریافت می‌کند (خون) و این ورودی را با اعمال تغییراتی، مجددا به بدن بازمی‌گرداند. مثال دیگر، خودرو است. در یک خودرو، سیستم سوخت‌رسانی یک فانکشن است. با دریافت سوخت از پمپ بنزین، آن را به دیگر اعضای ماشین که به سوخت نیاز دارند منتقل می‌کند.</div>
<br />
<div style="text-align: justify;" class="mycode_align">فانکشن‌ها به دو صورت کلی نوشته می‌شوند:</div><ul class="mycode_list"><li>فانکشن‌های دارای نام<br />
</li>
</ul>
<ul class="mycode_list"><li>فانکشن‌های بدون نام یا anonymus<br />
</li>
</ul>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تعریف فانکشن دارای اسم:</span></div>
<div style="text-align: justify;" class="mycode_align">اگر بخواهیم یک فانکشن را به‌گونه‌ای بنویسیم که هر کجای برنامه قابل صدا کردن و استفاده باشد، باید به آن اسم بدهیم. فانکشن‌های دارای اسم <span style="font-weight: bold;" class="mycode_b">قابل صدا زدن و اجرای مجدد</span> در هر کجای برنامه هستند. همچنین باید بدانید کد ما به‌صورت خودبه‌خود اجرا نمی‌شود و تا زمانی که این فانکشن فراخوانی نشود،‌ اتفاقی نخواهد افتاد.</div>
<br />
<div style="text-align: justify;" class="mycode_align">برای تعریف یک فانکشن دارای اسم از روش زیر استفاده می‌کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانطور که می‌بینید این بار بعد از کلمه کلیدی function که کارش تعریف فانکشن است، یک نام نوشته‌ایم که در واقع نام فانکشن ما محسوب می‌شود و از این به بعد از طریق این نام می‌توانیم این فانکشن را صدا بزنیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">می‌خواهیم با زدن یک دکمه فانکشنی را که قبلا تعریف کردیم صدا بزنیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">برای صدا زدن این فانکشن، کافی است نام آن را به همراه دو پرانتز در کنار آن بنویسیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">برای صدا کردن فانکشن دارای نام، دقت کنید که تنها نام آن را می‌نویسیم و پرانتز باز و بسته را قرار می‌دهیم که به مرورگر بفهمانیم در حال صدا زدن فانکشن خود هستیم. در صورتی که کلمه کلیدی function را مجددا بنویسیم، انگار که در حال تعریف دوباره فانکشن هستیم نه صدا زدن آن.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">روش صدا زدن فانکشن :</span></div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">روش دیگری نیز برای تعریف یک فانکشن دارای نام هست و آن ذخیره فانکشن در داخل یک متغیر است. روش صدا زدن چنین فانکشنی هیچ تفاوتی با حالت بالا ندارد.</div>
<div style="text-align: justify;" class="mycode_align">برای این کار ابتدا یک متغیر تعریف می‌کنیم و فانکشن خود را به‌عنوان مقدار آن می‌نویسیم.</div>
<div style="text-align: justify;" class="mycode_align">مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا اگر بخواهیم این فانکشن را صدا بزنیم باز هم می‌نویسیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانند روالی که در جلسات گذشته داشتیم، این جلسه نیز کمی تمرین انجام می‌دهیم تا اطلاعاتمان کامل‌تر شود! فانکشن جزو موارد کلیدی جاوا اسکریپت است و به همین خاطر تمرین‌های جذاب‌تری در این جلسه منتظر شما است! آماده یادگیری موارد تازه باشید!</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تمرین اول: </span></div>
<div style="text-align: justify;" class="mycode_align">یک دکمه بنویسید که با کلیک روی آن تاریخ روز را نمایش دهد.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">حل تمرین اول:</span></div>
<div style="text-align: justify;" class="mycode_align">یکی از اتریبیوت‌هایی که در واقع پل رابطی بین تگ‌های HTML و جاوا اسکریپت محسوب می‌شود، اتریبیوت onclick است! این اتریبیوت به‌صورت مستقیم می‌تواند یک فانشکن یا کد جاوا اسکریپت را اجرا کند. یعنی شما می‌توانید تمام دستورات جاوا اسکریپتی خود را در درون تگ اچ‌تی‌ام‌ال و به‌عنوان مقدار onclick بنویسید یا کمی هوشمندانه‌تر برخورد کنید و یک فانکشن مشخص برای کلیک هر تگ اچ‌تی‌ام‌ال تعریف کنید! ما در این مثال روش اول و دوم را بررسی می‌کنیم:</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">روش اول: نوشتن همه کدها در داخل تگ اچ‌تی‌ام‌ال</span></div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در همین جا که در حال نوشتن یک استرینگ در داخل یک اتریبیوت هستیم یک نکته کوچک جالب وجود دارد! وقتی می‌خواهیم به یک اتریبیوت اچ‌تی‌ام‌ال مقدار بدهیم بعد از مساوی و نام اتریبیوت، علامت سینگل کوتیشن ' '  یا دابل کوتیشن " "  قرار می‌دهیم. مثلا اتریبیوت کلاس‌های سی‌اس‌اس به‌ این صورت نوشته می‌شود: </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">اتریبیوت آن کلیک نیز همین گونه دارای سینگل یا دابل کوتیشن است. ولی ما از قبل می‌دانیم که در جاوا اسکریپت، استرینگ‌ها نیز باید در بین سینگل یا دابل کوتیشن قرار بگیرند! پس باید حواسمان باشد هر جا که قرار است دو بار از کوتیشن استفاده شود، باید ترکیبی از سینگل و دابل کوتیشن را استفاده کنیم! برای همین مثال اتریبیوت‌های اچ‌تی‌ام‌ال، می‌توانیم مقدار اتریبیوت‌ را که بعد از مساوی آن قرار می‌گیرد، با سینگل کوتیشن بنویسیم و کدهای جاوا اسکریپت خود را در داخل دابل کوتیشن بنویسیم!‌ بدین صورت مرورگر می‌فهمد که کدام یک نشانگر باز و بسته شدن استرینگ و کدام یک مربوط به اتریبیوت اچ‌تی‌ام‌ال است.</div>
<div style="text-align: justify;" class="mycode_align">البته این موضوع در محیط‌های توسعه یا IDE-ها (مثل visual Studio) به‌صورت کامل توسط قابلیت هایلایت مشخص است و می‌توانید بروز خطا در کدهایتان را کاملا متوجه شوید! </div>
<br />
<div style="text-align: justify;" class="mycode_align">به ادامه تمرین باز می‌گردیم. می‌خواستیم بعد از کلیک روی دکمه، تاریخ نمایش داده شود. برای این کار یک فانکشن می‌نویسیم. بدین ترتیب هر زمان بخواهیم می‌توانیم با یک بار نوشتن کد نمایش تاریخ آن را نمایش دهیم. یعنی برای مثال می‌توانیم به هر نوع تگ دیگری هم یک اتریبیوت onclick اضافه کنیم و این فانکشن را به‌عنوان مقدار پاس دهیم تا همین کار را برایمان انجام دهد. </div>
<br />
<div style="text-align: justify;" class="mycode_align">فایل HTML</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا وارد فایل جاوا اسکریپت می‌شویم و یک فانکشن با همین نام که در اتریبیوت اچ‌تی‌ام‌ال گفته‌ایم تعریف می‌کنیم:</div>
<div style="text-align: justify;" class="mycode_align">ابتدای صفحه یک متغیر عمومی برای ذخیره تاریخ تعریف می‌کنیم؛ متغیری که با هر بار صدا کردن فانکشن مقدار آن با تاریخ روز عوض و برابر می‌شود.</div>
<div style="text-align: justify;" class="mycode_align">سپس یک فانکشن برای دریافت زمان روز تعریف می‌کنیم. داخل این فانکشن ما از یک فانکشن پیش‌فرض قرار داده‌شده در جاوا اسکریپت به اسم Date() استفاده می‌کنیم. این فانکشن هر جا که صدا زده شود، تاریخ دقیق را به‌صورت روز و حتی ثانیه به ما می‌دهد. روال استاندارد استفاده از تابع تاریخ اینگونه است که ابتدا آن را در یک متغیر بریزیم و قبل از صدا زدن فانکشن از کلمه کلیدی new استفاده کنیم تا یک آبجکت جدید از تابع تاریخ برای ما ساخته شود. می‌دانیم که کمی مبحث پیچیده و گنگ به نظر می‌رسد؛ ولی چندان خود را درگیر نام‌ها نکنید! همه این موضوعات در آینده بررسی خواهد شد! فعلا فقط بدانید که گرفتن تابع تاریخ به‌صورت زیر خواهد بود.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">اگر حالا کد خود را اجرا کنید، خواهید دید که با کلیک روی دکمه «امروز چندم است»، تگ اچ‌تی‌ام‌ال با آی‌دی showTime تغییر پیدا می‌کند و تاریخ روز را نمایش می‌دهد! به همین سادگی!</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">document.getElementById چیست و چه کار می‌کند؟</span></div>
<div style="text-align: justify;" class="mycode_align">در این جلسه یک توضیح مختصر می‌دهیم؛ ولی توضیح تکمیلی را به جلسه مخصوص انتخاب تگ‌های ‌اچ‌تی‌ام ال در جاوا اسکریپت موکول می‌کنیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">این‌طور فرض کنید که همیشه باید یک پل رابط بین اچ‌تی‌ام‌ال و جاوا اسکریپت وجود داشته باشد که به کمک آن بتوانیم محتوای اچ‌تی‌ام‌ال صفحه را تغییر بدهیم. این پل رابط را یک آبجکت به نام document در نظر بگیرید! در واقع فرض کنید یک درخت (ظرف، جعبه یا هر چیز دیگری) بزرگ به نام document داریم که تمامی تگ‌های اچ‌تی‌ام‌ال و محتویات صفحه را در بر می‌گیرد. هر یک از تگ‌های اچ‌تی‌ام‌ال شاخه‌های این درخت هستند!</div>
<div style="text-align: justify;" class="mycode_align">برای گرفتن یک شاخه از این درخت باید به نحوی آن را انتخاب کنیم. برای انتخاب چند راه پیش‌رو داریم. انتخاب توسط آی‌دی المان یکی از راه‌ها است و برای این کار از دستوراتی مثل getElementById استفاده می‌کنیم. این دستور دنبال یک المان اچ‌تی‌ام‌ال با id که به آن می‌دهیم می‌گردد و آن را برای تغییر توسط جاوا اسکریپت آماده می‌کند. بعد از انتخاب المان اچ‌تی‌ام‌ال می‌توانیم هر گونه تغییری که خواستیم روی آن اعمال کنیم. مثلا می‌توانیم محتوای اچ‌تی‌ام‌ال آن را با کمک دستور innerHTML تغییر بدهیم. در اینجا ما هم چنین کاری را انجام داده‌ایم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"> return در فانکشن</span></div>
<div style="text-align: justify;" class="mycode_align">اگر خاطرتان باشد، در همین ابتدای آموزش گفتیم که فانکشن‌ها یک ورودی به‌عنوان متغیر دریافت می‌کنند و سپس فعل و انفعالاتی روی این ورودی صورت می‌گیرد و نتیجه در قالب خروجی به ما داده خواهد شد.</div>
<div style="text-align: justify;" class="mycode_align">برای دریافت خروجی از یک فانکشن دو کار انجام می‌دهیم! یا یک متغیر در بیرون فانکشن تعریف می‌کنیم و سپس این متغیر را درون فانکشن استفاده می‌کنیم و تغییر می‌دهیم! بدین ترتیب با اتمام فانکشن، متغیر ما نیز تغییر کرده است! ولی این روش همیشه جوابگو نیست! مثلا فرض کنید یک فانکشن ۵۰۰ خطی دارید. (البته هیچ وقت نگذارید یک فانکشن در کد شما انقدر زیاد شود و آن را به بخش‌ها و فانکشن‌های کوچکتر تقسیم کنید). در خط ۲۵۰ام شرطی وجود دارد که در صورت انجام شدن آن شرط، شما قصد دارید همانجا کار فانکشن را متوقف کنید و خروجی به‌دست‌آمده را برای ادامه کار تحویل بدهید!</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثلا در همان پروژه مدیریت رستوران فرض کنید که یک فانکشن برای محاسبه قیمت غذا داریم. این فانکشن قیمت نوشابه و قیمت غذا را جداگانه محاسبه می‌کند. اگر کاربر نهایی ما نوشابه سفارش نداده باشد، نیازی به محاسبه قیمت نوشابه نیست و همان قیمت غذا باید محاسبه شود. پس ما باید به نحوی بتوانیم قبل از رسیدن به بلاک مخصوص محاسبه قیمت نوشابه، قیمت نهایی را به‌ دست بیاوریم. برای این کار از دستور return استفاده می‌کنیم. دستور return هر جا که استفاده شود از ادامه کار فانکشن جلوگیری می‌کند و هر چیزی را که روبه‌روی آن نوشته شده باشد، به‌عنوان مقدار خروجی فانکشن برمی‌گرداند.</div>
<div style="text-align: justify;" class="mycode_align">برای درک بهتر مثال زیر را ببینید.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">اگر به نتیجه پیغام الرت نگاه کنیم، متوجه می‌شویم که مقدار return شده از فانکشن را به ما نشان داد. در واقع هر جا این فانکشن صدا شود، مقداری که در آن جلوی return نوشته می‌شود بازگردانده خواهد شد! </div>
<br />
<div style="text-align: justify;" class="mycode_align">به مثال دیگری توجه کنید!</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">در این مثال چه اتفاقی افتاده است؟</span></div>
<div style="text-align: justify;" class="mycode_align">ما یک متغیر به‌عنوان سن خودمان در نظر گرفته‌ایم. بعد از آن یک متغیر بولین در نظر گرفته‌ایم که چک کنیم آیا این سن بیشتر از سی سال است یا خیر. در حالت پیش‌فرض ما مقدار false را به این متغیر داده‌ایم؛ چون فکر کرده‌ایم که سن و سال پیش‌فرض کاربر ما کمتر از ۴۰ است. </div>
<div style="text-align: justify;" class="mycode_align">سپس درون فانکشن با چک کردن سن و سال متغیر myAge گفته‌ایم که آیا وی سنش بیشتر از ۴۰ است یا کمتر!‌ اگر کمتر بود isOld با مقدار false و اگر بیشتر از ۴۰ بود متغیر isOld مقدارش به true تغییر پیدا خواهد کرد! در نهایت مقدار isOld را بازگردانده‌ایم. </div>
<div style="text-align: justify;" class="mycode_align">حالا در یک متغیر جدید به نام isHeOld این فانکشن را صدا کرده‌ایم. نتیجه این کار این می‌شود که مقدار نهایی فانکشن isOld درون متغیر isHeOld ذخیره می‌شود! یعنی اگر isHeOld را صدا بزنیم عبارت true یا false به ما برگردانده خواهد شد!</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا یک مثال دیگر خواهیم زد. در این مثال بعد از return، فانکشن ما کارهای دیگری نیز انجام می‌دهد! نکته مهم این تمرین این است که هر کدی که بعد از return در فانکشن نوشته می‌شود اجرا نخواهد شد و انگار نادیده گرفته می‌شود؛ چون فانکشن ما کار خود را انجام داده و مقدار لازم را به ما برگردانده است. </div>
<br />
<div style="text-align: justify;" class="mycode_align">اگر در فانکشن اگر یک if یا else داشته باشیم که در آن return کنیم باز هم همین اتفاق می‌افتد.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این جلسه با مفهوم توابع یا فانکشن‌ها آشنا شدیم. ولی در آخر این جلسه می‌خواهیم به یک سؤال مهم برای افرادی که در ابتدای راه هستند، پاسخ دهیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">سؤال این است که چرا باید از فانکشن‌ها استفاده کنیم؟</span></div>
<div style="text-align: justify;" class="mycode_align">ساده‌ترین پاسخ این است که شما دیگر نیازی ندارید یک تکه کد را در ۱۰ جای مختلف بنویسید و هر بار کد تکراری را اجرا کنید. یک بار یک فانکشن برای یک کار خاص تعریف می‌کنید و هر وقت نیاز شد، آن را استفاده می‌کنید. این کار به شدت خوانایی و کارکرد کد را تحت تأثیر قرار می‌دهد. </div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">در دهمین جلسه آموزش جاوا اسکریپت ، به آموزش فانکشن‌ها می‌پردازیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">فانکشن‌ها در واقع تکه‌کدهایی هستند که قرار است یک یا چند عملیات کلی را روی کد ما اعمال کنند. فانکشن‌ها مانند اکشن‌هایی هستند که می‌توانند کار خاصی را در زمانی که ما از آن‌ها می‌خواهیم تکرار کنند. برای درک بهتر عملکرد فانکشن‌ها، بدن انسان را در نظر بگیرید. قلب وظیفه پمپاژ و خون‌رسانی را به تمامی اعضای دیگر بدن دارد. قلب به‌عنوان یک فانکشن اصلی در بدن، یک وظیفه مشخص دارد. این فانکشن، یک ورودی دریافت می‌کند (خون) و این ورودی را با اعمال تغییراتی، مجددا به بدن بازمی‌گرداند. مثال دیگر، خودرو است. در یک خودرو، سیستم سوخت‌رسانی یک فانکشن است. با دریافت سوخت از پمپ بنزین، آن را به دیگر اعضای ماشین که به سوخت نیاز دارند منتقل می‌کند.</div>
<br />
<div style="text-align: justify;" class="mycode_align">فانکشن‌ها به دو صورت کلی نوشته می‌شوند:</div><ul class="mycode_list"><li>فانکشن‌های دارای نام<br />
</li>
</ul>
<ul class="mycode_list"><li>فانکشن‌های بدون نام یا anonymus<br />
</li>
</ul>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تعریف فانکشن دارای اسم:</span></div>
<div style="text-align: justify;" class="mycode_align">اگر بخواهیم یک فانکشن را به‌گونه‌ای بنویسیم که هر کجای برنامه قابل صدا کردن و استفاده باشد، باید به آن اسم بدهیم. فانکشن‌های دارای اسم <span style="font-weight: bold;" class="mycode_b">قابل صدا زدن و اجرای مجدد</span> در هر کجای برنامه هستند. همچنین باید بدانید کد ما به‌صورت خودبه‌خود اجرا نمی‌شود و تا زمانی که این فانکشن فراخوانی نشود،‌ اتفاقی نخواهد افتاد.</div>
<br />
<div style="text-align: justify;" class="mycode_align">برای تعریف یک فانکشن دارای اسم از روش زیر استفاده می‌کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانطور که می‌بینید این بار بعد از کلمه کلیدی function که کارش تعریف فانکشن است، یک نام نوشته‌ایم که در واقع نام فانکشن ما محسوب می‌شود و از این به بعد از طریق این نام می‌توانیم این فانکشن را صدا بزنیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">می‌خواهیم با زدن یک دکمه فانکشنی را که قبلا تعریف کردیم صدا بزنیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">برای صدا زدن این فانکشن، کافی است نام آن را به همراه دو پرانتز در کنار آن بنویسیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">برای صدا کردن فانکشن دارای نام، دقت کنید که تنها نام آن را می‌نویسیم و پرانتز باز و بسته را قرار می‌دهیم که به مرورگر بفهمانیم در حال صدا زدن فانکشن خود هستیم. در صورتی که کلمه کلیدی function را مجددا بنویسیم، انگار که در حال تعریف دوباره فانکشن هستیم نه صدا زدن آن.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">روش صدا زدن فانکشن :</span></div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">روش دیگری نیز برای تعریف یک فانکشن دارای نام هست و آن ذخیره فانکشن در داخل یک متغیر است. روش صدا زدن چنین فانکشنی هیچ تفاوتی با حالت بالا ندارد.</div>
<div style="text-align: justify;" class="mycode_align">برای این کار ابتدا یک متغیر تعریف می‌کنیم و فانکشن خود را به‌عنوان مقدار آن می‌نویسیم.</div>
<div style="text-align: justify;" class="mycode_align">مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا اگر بخواهیم این فانکشن را صدا بزنیم باز هم می‌نویسیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانند روالی که در جلسات گذشته داشتیم، این جلسه نیز کمی تمرین انجام می‌دهیم تا اطلاعاتمان کامل‌تر شود! فانکشن جزو موارد کلیدی جاوا اسکریپت است و به همین خاطر تمرین‌های جذاب‌تری در این جلسه منتظر شما است! آماده یادگیری موارد تازه باشید!</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تمرین اول: </span></div>
<div style="text-align: justify;" class="mycode_align">یک دکمه بنویسید که با کلیک روی آن تاریخ روز را نمایش دهد.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">حل تمرین اول:</span></div>
<div style="text-align: justify;" class="mycode_align">یکی از اتریبیوت‌هایی که در واقع پل رابطی بین تگ‌های HTML و جاوا اسکریپت محسوب می‌شود، اتریبیوت onclick است! این اتریبیوت به‌صورت مستقیم می‌تواند یک فانشکن یا کد جاوا اسکریپت را اجرا کند. یعنی شما می‌توانید تمام دستورات جاوا اسکریپتی خود را در درون تگ اچ‌تی‌ام‌ال و به‌عنوان مقدار onclick بنویسید یا کمی هوشمندانه‌تر برخورد کنید و یک فانکشن مشخص برای کلیک هر تگ اچ‌تی‌ام‌ال تعریف کنید! ما در این مثال روش اول و دوم را بررسی می‌کنیم:</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">روش اول: نوشتن همه کدها در داخل تگ اچ‌تی‌ام‌ال</span></div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در همین جا که در حال نوشتن یک استرینگ در داخل یک اتریبیوت هستیم یک نکته کوچک جالب وجود دارد! وقتی می‌خواهیم به یک اتریبیوت اچ‌تی‌ام‌ال مقدار بدهیم بعد از مساوی و نام اتریبیوت، علامت سینگل کوتیشن ' '  یا دابل کوتیشن " "  قرار می‌دهیم. مثلا اتریبیوت کلاس‌های سی‌اس‌اس به‌ این صورت نوشته می‌شود: </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">اتریبیوت آن کلیک نیز همین گونه دارای سینگل یا دابل کوتیشن است. ولی ما از قبل می‌دانیم که در جاوا اسکریپت، استرینگ‌ها نیز باید در بین سینگل یا دابل کوتیشن قرار بگیرند! پس باید حواسمان باشد هر جا که قرار است دو بار از کوتیشن استفاده شود، باید ترکیبی از سینگل و دابل کوتیشن را استفاده کنیم! برای همین مثال اتریبیوت‌های اچ‌تی‌ام‌ال، می‌توانیم مقدار اتریبیوت‌ را که بعد از مساوی آن قرار می‌گیرد، با سینگل کوتیشن بنویسیم و کدهای جاوا اسکریپت خود را در داخل دابل کوتیشن بنویسیم!‌ بدین صورت مرورگر می‌فهمد که کدام یک نشانگر باز و بسته شدن استرینگ و کدام یک مربوط به اتریبیوت اچ‌تی‌ام‌ال است.</div>
<div style="text-align: justify;" class="mycode_align">البته این موضوع در محیط‌های توسعه یا IDE-ها (مثل visual Studio) به‌صورت کامل توسط قابلیت هایلایت مشخص است و می‌توانید بروز خطا در کدهایتان را کاملا متوجه شوید! </div>
<br />
<div style="text-align: justify;" class="mycode_align">به ادامه تمرین باز می‌گردیم. می‌خواستیم بعد از کلیک روی دکمه، تاریخ نمایش داده شود. برای این کار یک فانکشن می‌نویسیم. بدین ترتیب هر زمان بخواهیم می‌توانیم با یک بار نوشتن کد نمایش تاریخ آن را نمایش دهیم. یعنی برای مثال می‌توانیم به هر نوع تگ دیگری هم یک اتریبیوت onclick اضافه کنیم و این فانکشن را به‌عنوان مقدار پاس دهیم تا همین کار را برایمان انجام دهد. </div>
<br />
<div style="text-align: justify;" class="mycode_align">فایل HTML</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا وارد فایل جاوا اسکریپت می‌شویم و یک فانکشن با همین نام که در اتریبیوت اچ‌تی‌ام‌ال گفته‌ایم تعریف می‌کنیم:</div>
<div style="text-align: justify;" class="mycode_align">ابتدای صفحه یک متغیر عمومی برای ذخیره تاریخ تعریف می‌کنیم؛ متغیری که با هر بار صدا کردن فانکشن مقدار آن با تاریخ روز عوض و برابر می‌شود.</div>
<div style="text-align: justify;" class="mycode_align">سپس یک فانکشن برای دریافت زمان روز تعریف می‌کنیم. داخل این فانکشن ما از یک فانکشن پیش‌فرض قرار داده‌شده در جاوا اسکریپت به اسم Date() استفاده می‌کنیم. این فانکشن هر جا که صدا زده شود، تاریخ دقیق را به‌صورت روز و حتی ثانیه به ما می‌دهد. روال استاندارد استفاده از تابع تاریخ اینگونه است که ابتدا آن را در یک متغیر بریزیم و قبل از صدا زدن فانکشن از کلمه کلیدی new استفاده کنیم تا یک آبجکت جدید از تابع تاریخ برای ما ساخته شود. می‌دانیم که کمی مبحث پیچیده و گنگ به نظر می‌رسد؛ ولی چندان خود را درگیر نام‌ها نکنید! همه این موضوعات در آینده بررسی خواهد شد! فعلا فقط بدانید که گرفتن تابع تاریخ به‌صورت زیر خواهد بود.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">اگر حالا کد خود را اجرا کنید، خواهید دید که با کلیک روی دکمه «امروز چندم است»، تگ اچ‌تی‌ام‌ال با آی‌دی showTime تغییر پیدا می‌کند و تاریخ روز را نمایش می‌دهد! به همین سادگی!</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">document.getElementById چیست و چه کار می‌کند؟</span></div>
<div style="text-align: justify;" class="mycode_align">در این جلسه یک توضیح مختصر می‌دهیم؛ ولی توضیح تکمیلی را به جلسه مخصوص انتخاب تگ‌های ‌اچ‌تی‌ام ال در جاوا اسکریپت موکول می‌کنیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">این‌طور فرض کنید که همیشه باید یک پل رابط بین اچ‌تی‌ام‌ال و جاوا اسکریپت وجود داشته باشد که به کمک آن بتوانیم محتوای اچ‌تی‌ام‌ال صفحه را تغییر بدهیم. این پل رابط را یک آبجکت به نام document در نظر بگیرید! در واقع فرض کنید یک درخت (ظرف، جعبه یا هر چیز دیگری) بزرگ به نام document داریم که تمامی تگ‌های اچ‌تی‌ام‌ال و محتویات صفحه را در بر می‌گیرد. هر یک از تگ‌های اچ‌تی‌ام‌ال شاخه‌های این درخت هستند!</div>
<div style="text-align: justify;" class="mycode_align">برای گرفتن یک شاخه از این درخت باید به نحوی آن را انتخاب کنیم. برای انتخاب چند راه پیش‌رو داریم. انتخاب توسط آی‌دی المان یکی از راه‌ها است و برای این کار از دستوراتی مثل getElementById استفاده می‌کنیم. این دستور دنبال یک المان اچ‌تی‌ام‌ال با id که به آن می‌دهیم می‌گردد و آن را برای تغییر توسط جاوا اسکریپت آماده می‌کند. بعد از انتخاب المان اچ‌تی‌ام‌ال می‌توانیم هر گونه تغییری که خواستیم روی آن اعمال کنیم. مثلا می‌توانیم محتوای اچ‌تی‌ام‌ال آن را با کمک دستور innerHTML تغییر بدهیم. در اینجا ما هم چنین کاری را انجام داده‌ایم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"> return در فانکشن</span></div>
<div style="text-align: justify;" class="mycode_align">اگر خاطرتان باشد، در همین ابتدای آموزش گفتیم که فانکشن‌ها یک ورودی به‌عنوان متغیر دریافت می‌کنند و سپس فعل و انفعالاتی روی این ورودی صورت می‌گیرد و نتیجه در قالب خروجی به ما داده خواهد شد.</div>
<div style="text-align: justify;" class="mycode_align">برای دریافت خروجی از یک فانکشن دو کار انجام می‌دهیم! یا یک متغیر در بیرون فانکشن تعریف می‌کنیم و سپس این متغیر را درون فانکشن استفاده می‌کنیم و تغییر می‌دهیم! بدین ترتیب با اتمام فانکشن، متغیر ما نیز تغییر کرده است! ولی این روش همیشه جوابگو نیست! مثلا فرض کنید یک فانکشن ۵۰۰ خطی دارید. (البته هیچ وقت نگذارید یک فانکشن در کد شما انقدر زیاد شود و آن را به بخش‌ها و فانکشن‌های کوچکتر تقسیم کنید). در خط ۲۵۰ام شرطی وجود دارد که در صورت انجام شدن آن شرط، شما قصد دارید همانجا کار فانکشن را متوقف کنید و خروجی به‌دست‌آمده را برای ادامه کار تحویل بدهید!</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثلا در همان پروژه مدیریت رستوران فرض کنید که یک فانکشن برای محاسبه قیمت غذا داریم. این فانکشن قیمت نوشابه و قیمت غذا را جداگانه محاسبه می‌کند. اگر کاربر نهایی ما نوشابه سفارش نداده باشد، نیازی به محاسبه قیمت نوشابه نیست و همان قیمت غذا باید محاسبه شود. پس ما باید به نحوی بتوانیم قبل از رسیدن به بلاک مخصوص محاسبه قیمت نوشابه، قیمت نهایی را به‌ دست بیاوریم. برای این کار از دستور return استفاده می‌کنیم. دستور return هر جا که استفاده شود از ادامه کار فانکشن جلوگیری می‌کند و هر چیزی را که روبه‌روی آن نوشته شده باشد، به‌عنوان مقدار خروجی فانکشن برمی‌گرداند.</div>
<div style="text-align: justify;" class="mycode_align">برای درک بهتر مثال زیر را ببینید.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">اگر به نتیجه پیغام الرت نگاه کنیم، متوجه می‌شویم که مقدار return شده از فانکشن را به ما نشان داد. در واقع هر جا این فانکشن صدا شود، مقداری که در آن جلوی return نوشته می‌شود بازگردانده خواهد شد! </div>
<br />
<div style="text-align: justify;" class="mycode_align">به مثال دیگری توجه کنید!</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">در این مثال چه اتفاقی افتاده است؟</span></div>
<div style="text-align: justify;" class="mycode_align">ما یک متغیر به‌عنوان سن خودمان در نظر گرفته‌ایم. بعد از آن یک متغیر بولین در نظر گرفته‌ایم که چک کنیم آیا این سن بیشتر از سی سال است یا خیر. در حالت پیش‌فرض ما مقدار false را به این متغیر داده‌ایم؛ چون فکر کرده‌ایم که سن و سال پیش‌فرض کاربر ما کمتر از ۴۰ است. </div>
<div style="text-align: justify;" class="mycode_align">سپس درون فانکشن با چک کردن سن و سال متغیر myAge گفته‌ایم که آیا وی سنش بیشتر از ۴۰ است یا کمتر!‌ اگر کمتر بود isOld با مقدار false و اگر بیشتر از ۴۰ بود متغیر isOld مقدارش به true تغییر پیدا خواهد کرد! در نهایت مقدار isOld را بازگردانده‌ایم. </div>
<div style="text-align: justify;" class="mycode_align">حالا در یک متغیر جدید به نام isHeOld این فانکشن را صدا کرده‌ایم. نتیجه این کار این می‌شود که مقدار نهایی فانکشن isOld درون متغیر isHeOld ذخیره می‌شود! یعنی اگر isHeOld را صدا بزنیم عبارت true یا false به ما برگردانده خواهد شد!</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا یک مثال دیگر خواهیم زد. در این مثال بعد از return، فانکشن ما کارهای دیگری نیز انجام می‌دهد! نکته مهم این تمرین این است که هر کدی که بعد از return در فانکشن نوشته می‌شود اجرا نخواهد شد و انگار نادیده گرفته می‌شود؛ چون فانکشن ما کار خود را انجام داده و مقدار لازم را به ما برگردانده است. </div>
<br />
<div style="text-align: justify;" class="mycode_align">اگر در فانکشن اگر یک if یا else داشته باشیم که در آن return کنیم باز هم همین اتفاق می‌افتد.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این جلسه با مفهوم توابع یا فانکشن‌ها آشنا شدیم. ولی در آخر این جلسه می‌خواهیم به یک سؤال مهم برای افرادی که در ابتدای راه هستند، پاسخ دهیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">سؤال این است که چرا باید از فانکشن‌ها استفاده کنیم؟</span></div>
<div style="text-align: justify;" class="mycode_align">ساده‌ترین پاسخ این است که شما دیگر نیازی ندارید یک تکه کد را در ۱۰ جای مختلف بنویسید و هر بار کد تکراری را اجرا کنید. یک بار یک فانکشن برای یک کار خاص تعریف می‌کنید و هر وقت نیاز شد، آن را استفاده می‌کنید. این کار به شدت خوانایی و کارکرد کد را تحت تأثیر قرار می‌دهد. </div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا اسکریپت - انتخاب المان‌های HTML]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=5358</link>
			<pubDate>Mon, 21 May 2018 23:49:01 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=34">mesterweb</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=5358</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">در نهمین جلسه از آموزش جاوا اسکریپت سراغ یکی از مباحث پرکاربرد جاوا اسکریپت یعنی انتخاب و تغییر المان‌های HTML خواهیم رفت.</div>
<br />
<div style="text-align: justify;" class="mycode_align">تمامی صفحات وب از کدهای اچ‌تی‌ام‌ال تشکیل شده‌اند. با کمک CSS و استایل‌های آن، این کدها ظاهر مرتب‌تر و زیباتری به خود می‌گیرند. جاوا اسکریپت نیز به شما کمک می‌کند این المان‌های زیبا را تغییر دهید. مثلا محتوای اچ‌تی‌ام‌ال‌ها را تغییر دهید، آن‌ را حذف کنید یا متنی به آن اضافه کنید و ...! در این جلسه با نحوه انتخاب المان‌های اچ‌تی‌ام‌ال آشنا خواهیم شد. </div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">چگونه یک المان اچ‌تی‌ام‌ال را با کمک جاواسکریپت انتخاب کنیم؟</span></div>
<div style="text-align: justify;" class="mycode_align">اگر با زبان سی‌اس‌اس آشنا باشید، می‌دانید که به‌صورت کلی چند روش برای انتخاب المان‌ها وجود دارد! انتخاب بر اساس id، انتخاب بر اساس نام class یا انتخاب بر اساس نوع تگ (مثلا کل تگ‌های p یا h2 صفحه).</div>
<div style="text-align: justify;" class="mycode_align">در جاوا اسکریپت نیز همین قانون برقرار است. یعنی شما می‌توانید المان‌های صفحه را بر اساس نام id، نام کلاس (Class) یا نوع تگ انتخاب کنید. در تمامی این حالت ما از آبجکتی به نام document کمک می‌گیریم!‌ آبجکت داکیمونت را مانند یک ظرف خیلی بزرگ در نظر بگیرید که کل اطلاعات صفحه در آن ذخیره شده است. پس وقتی می‌خواهیم به صفحه اچ‌تی‌ام‌ال در جاوا اسکریپت دسترسی داشته باشیم، می‌رویم و داخل این جعبه document را نگاه می‌کنیم و با جستجو در آن المان‌ مورد نظرمان را انتخاب (select) می‌کنیم. </div>
<br />
<div style="text-align: justify;" class="mycode_align">برای انتخاب المان‌های اچ‌تی‌ام‌ال از جعبه document روش‌های زیر را یاد خواهیم گرفت:</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">انتخاب المان بر اساس ID:</span></div>
<div style="text-align: justify;" class="mycode_align">در این حالت فرض می‌کنیم که المان‌های اچ‌تی‌ام‌ال‌ ما دارای id منحصربه‌فردی هستند که به کمک آن‌ می‌توانیم المان‌ را شناسایی و توسط جاوا اسکریپت انتخاب و در صورت تمایل تغییرات مورد نیازمان را اعمال کنیم. </div>
<br />
<div style="text-align: justify;" class="mycode_align">دستور کلی جاوااسکریپت برای انتخاب المان بر اساس شناسه یا آی‌دی به‌صورت زیر است:</div>
<div style="text-align: justify;" class="mycode_align">این کار توسط دستور  ()getElementById  انجام می‌شود. در این دستور (یا همان متد خودمان) ما یک پرانتز داریم که داخل این پرانتز باید دو تا  “”  بگذاریم. سپس داخل این کوتیشن‌ها نام آی‌دی المان تعریف‌شده در اچ‌تی‌ام‌ال را قرار می‌دهیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثلا یک المان با ID دمو داریم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا می‌خواهیم آن را توسط جاوا اسکریپت انتخاب کنیم.<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این مثال ما المان HTML با آی‌دی select-by-id را انتخاب کرده‌ایم و می‌توانیم روی آن تغییر ایجاد کنیم.<br />
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">انتخاب بر اساس نام تگ:<br />
</span>گاهی می‌خواهیم تمامی تگ‌های اچ‌تی‌ام‌ال را به‌صورت یکجا انتخاب کنیم! مثلا می‌خواهیم هر چه تگ P یا H1 در صفحه است، یکجا انتخاب کنیم و یکجا آن‌ها را تغییر دهیم. در این حالت جاوااسکریپت روش مخصوص خودش را به ما می‌دهد. این روش که با نام selectByTagName شناخته می‌شود. دستور نوشتن انتخاب بر اساس نام تگ نیز به شکل زیر است:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این مثال ما کل المان‌های پاراگراف را که با تگ p در صفحه شناخته می‌شوند، انتخاب کرده‌ایم. دقت کنید که در اینجا ما مجموعه‌ای از المنت‌ها را با هم انتخاب می‌کنیم، پس در دستور خود کلمه Elements را به‌جای Element در دستور قبلی می‌نویسیم. <br />
<br />
<span style="font-weight: bold;" class="mycode_b">انتخاب المان بر اساس نام کلاس:</span></div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">گاهی می‌خواهیم همه المان‌هایی را که دارای یک کلاس مشخص هستند، انتخاب کنیم. در این حالت می‌توانیم از دستور  document.getElementsByClassName  استفاده کنیم و نام کلاس را همراه با “”  درون پرانتز بگذاریم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت هم نتیجه انتخاب ما یک مجموعه از المنت‌های اچ‌تی‌ام‌ال خواهد بود. برای تغییر روی چنین مجموعه‌ای که بدان آرایه می‌گوییم، باید روش‌های کار با آرایه‌هایی مثل استفاده از حلقه را یاد بگیریم. به همین خاطر در این جلسه اعمال تغییرات روی اچ‌تی‌ام‌ال را تنها محدود به حالت getElementById می‌کنیم و مباحث بیشتر در مورد این موضوع را به جلسات آینده موکول خواهیم کرد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">ذخیره المان اچ‌تی‌ام‌ال در متغیر<br />
</span>اگر بخواهیم حرفه‌ای‌تر برخورد کنیم، بهتر است المان انتخاب‌شده را در داخل یک متغیر بریزیم. بدین ترتیب هر وقت نام آن متغیر را بنویسیم به تمامی محتوای آن دسترسی داریم و می‌توانیم روی آن هر تغییری که دوست داریم اعمال کنیم.<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">بعد از انتخاب توسط جاوا اسکریپت، چه تغییراتی می‌توان روی اچ‌تی‌ام‌ال انجام داد؟<br />
</span>حالا فرض کنیم که یک المان را توسط جاوا اسکریپت انتخاب کنیم! این کار به چه دردمان می‌خورد؟ آن وقت می‌توانید تمامی تغییراتی که جاوا اسکریپت به شما اجازه می‌دهد روی آن المان انجام دهید. در واقع با انتخاب یک المان توسط جاوا اسکریپت، یک آبجکت (همانند یک ظرف کوچک دیگر در نظر بگیرید) از آن المنت خواهید داشت که در درون این آبجکت قابلیت‌های وجودی دارد (مثل محتوای داخل جعبه)! مثلا می‌توانید اچ‌تی‌ام‌ال این المان را تغییر دهید (محتوای داخل جعبه را انتخاب و تغییر دهید) می‌توانید آن را حذف کنید. بدان تگ جدیدی اضافه کنید! یک کلاس سی‌اس‌اس جدید بدان اضافه کنید و ...<br />
<br />
در ادامه لیست تغییراتی را که به‌طور کلی روی المان‌های اچ‌تی‌ام‌ال بعد از انتخاب توسط جاوا اسکریپت انجام می‌دهیم، مرور می‌کنیم:<br />
<br />
<span style="font-weight: bold;" class="mycode_b">تغییر در متن:<br />
</span>فرض کنید می‌خواهید متن یک تگ p را بعد از کلیک روی یک دکمه تغییر دهید. نه سی‌اس‌اس نه اچ‌تی‌ام‌ال هیچکدام امکان تغییر در متن را بعد از رندر شدن توسط مرورگر نمی‌دهند؛ ولی جاوا اسکریپت این امکان را در اختیار شما قرار می‌دهد. برای تغییر متن از دستور innerHTML بعد از نام المان استفاده می‌شود.<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در زیر مرحله به مرحله این کار را انجام داده‌ایم:<br />
<br />
<span style="font-weight: bold;" class="mycode_b">مرحله اول: انتخاب المان HTML  در صفحه<br />
</span>با توجه به نکاتی که بالاتر گفتیم‌ می‌توانیم یک المان اچ‌تی‌ام‌ال را بر اساس id یا class یا تگ آن انتخاب کنیم. برای مثال برای تغییر محتوای متن المان p با نام irani مراحل زیر را طی ‌می‌کنیم:</div>
<br />
<div style="text-align: justify;" class="mycode_align">
<span style="font-weight: bold;" class="mycode_b">فایل html</span></div>
<br />
<div style="text-align: justify;" class="mycode_align">
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">فایل جاوا اسکریپت</span></div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این مرحله ما در واقع از آن المان اچ‌تی‌ام‌ال که انتخاب کرده‌ایم یک آبجکت می‌سازیم. آبجکت را در جلسات بعدی مفصل‌تر صحبت خواهیم کرد؛ ولی برای درک بهتر، آبجکت اچ‌تی‌ام‌ال را مانند ظرفی در نظر بگیرید که درون آن دستورات و روش‌های مختلفی برای تغییر المان ذخیره شده است! برای دسترسی به این دستورات، کافی است نام دستور مورد نظرمان را در کنار نام آبجکت بنویسیم و یک علامت .  بگذاریم! <br />
<br />
<span style="font-weight: bold;" class="mycode_b">نکته مهم:</span> می‌توانیم المان اچ‌تی‌ام‌ال را  بعد از انتخاب در یک متغیر ذخیره کنیم. این کار چه فایده‌ای دارد؟ مهم‌ترین فایده آن است که اگر بخواهیم بعدا تغییر دیگری روی این المان اعمال کنیم مجبور نیستیم باز هم دستور  document.getElementById('irani') را بنویسیم و این کارها را تکرار کنیم! چون تمامی اطلاعات المان در یک متغیر ذخیره شده و کافی است نام متغیر را به همراه دستور دلخواه کنار آن بنویسیم!<br />
</div>
<div style="text-align: justify;" class="mycode_align">برای مثال محتوای المان اچ‌تی‌ام‌ال با id با نام irani را در یک متغیر به نام  elem ذخیره می‌کنیم:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">مرحله دوم: انجام تغییرات مورد نظر توسط جاوا اسکریپت<br />
</span>بعد از انتخاب المان توسط جاوا اسکریپت وقت آن رسیده است تا روی آن تغییرات ایجاد کنیم. گفتیم که هر المان در جاوا اسکریپت به‌صورت یک آبجکت (ظرفی که محتوای آن دستورات جاوا اسکریپتی و اطلاعات مربوط به المان) ذخیره می‌شود. برای اعمال تغییر روی این المان اچ‌تی‌ام‌ال دستور دلخواه را می‌نویسیم. مثلا برای تغییر محتوا از دستور innerHTML استفاده می‌کنیم:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">مثال‌های دیگر:<br />
</span><br />
مثال اول:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال دوم: در این مثال می‌خواهیم کمی متفاوت عمل کنیم! مثلا محتوای ذخیره‌شده در یک متغیر را روی یک المان بنویسیم. </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانطور که دیدید، یک استرینگ را که در یک متغیر ذخیره شده است، به‌عنوان متن جدید به تگ span با آی‌دی change-me داده‌ایم.<br />
<br />
مثال سوم: در این مثال قصد داریم کمی خلاقانه‌تر از این موضوع استفاده کنیم.</div>
<div style="text-align: justify;" class="mycode_align">در جاوا اسکریپت دستوری به نام prompt وجود دارد. این دستور یک پنجره مشابه الرت باز می‌کند؛ با این تفاوت که کاربر می‌تواند در این پنجره متن هم تایپ کند. <br />
برای ساخت یک پنجره prompt، یک متغیر با نام دلخواه می‌سازیم و دستور window.prompt را به عنوان مقدار به آن می‌دهیم. در نتیجه این متغیر یک پنجره propmt ٰرا در مرورگر باز می‌کند.<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همچنین دقت کنید دستور innerHTML تنها متن را تغییر نمی‌دهد! در واقع تمامی HTML را که داخل آن تگ وجود دارد تغییر می‌دهد. برای مثال اگر المان اچ‌تی‌ام‌ال شما دارای بچه‌های دیگری مثل تگ‌های‌ پاراگراف‌ یا span یا هر چیز دیگری باشد، بعد از این کار حذف و محتوای جدید جایگزین آن می‌شود!<br />
<br />
نکته بعدی آن است که شما می‌توانید یک اچ‌تی‌ام‌ال جدید را به جای استرینگ بنویسید. مثلا:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تغییر attributeهای اچ‌تی‌ام‌ال: <br />
</span>یکی دیگر از مواردی که می‌توانید روی المان‌های اچ‌تی‌ام‌ال انجام دهید، تغییر attribute-های آن‌ها است. برای این کار کافی است نام attribute را بعد از المان اچ‌تی‌ام‌ال بنویسید و مقدار جدید را بدان اختصاص دهید. <br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال: برای مثال در زیر می‌خواهیم اتریبیوت src در تصویر دارای ID با نام change-me را تغییر دهیم! برای این کار به‌راحتی دستور زیر می‌نویسیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در مثال بعدی می‌خواهیم مقدار یک اینپوت متنی در اچ‌تی‌ام‌ال را در صفحه چاپ کنیم! برای این کار ابتدا باید مقدار اینپوت را توسط جاوا اسکریپت ذخیره کنیم:<br />
<br />
HTML</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال سوم: در سومین مثال می‌خواهیم یک دکمه را به کمک جاوا اسکریپت Disable کنیم. این کار نیز به‌سادگی هر چه تمام‌تر قابل اجرا است:<br />
<br />
HTML</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">فایل JS</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">با تغییر اتریبیوت disabled در تگ Button و true یا false کردن آن می‌توانیم دکمه‌ها را فعال یا غیر فعال کنیم. <br />
<br />
<span style="font-weight: bold;" class="mycode_b">نکته پایانی:<br />
</span>همانطور که گفتیم هر اتریبیوتی در هر المان اچ‌تی‌ام‌الی قابل دسترسی است. کافی است نام آن اتریبیوت را بنویسید تا مقدار آن را بگیرید. مثلا برای دریافت نام یک فرم:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">از این دست مثال‌ها بی‌نهایت وجود دارد. کافی است خودتان دست به کار شوید و اتریبیوت تگ‌های مختلف را امتحان کنید.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">استفاده از HTML5 Data Attributes در جاوا اسکریپت:<br />
</span>یکی از قابلیت‌های HTML 5 امکان اضافه کردن اتریبیوت‌های جدید به تگ‌های HTML است. مثلا فرض کنید می‌خواهید به یک المان p علاوه بر اتربیوت id و class که به‌صورت پیش‌فرض در همه المان‌های p وجود دارند یک اتریبیوت دلخواه اضافه کنید که محتوای دلخواهتان را در خودش ذخیره می‌کند. مثلا می‌خواهیم همه المان‌های p ما دارای یک متن پیش‌فرض باشند که در صورت خالی بودن متنشان، این متن در آن‌ها نمایش داده شود.</div>
<div style="text-align: justify;" class="mycode_align">
برای این کار یک راه حل این است که یک اتریبیوت Data به اچ‌تی‌ام‌ال تگمان اضافه کنیم. قاعده کلی اضافه کردن اتریبیوت به اچ‌تی‌ام‌ال به‌صورت زیر است:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">بدین ترتیب که همیشه کلمه data-  و بعد از آن‌، نام اتریبیوت دلخواهمان را می‌نویسیم. مثلا<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این مثال ما یک تگ p با اتریبیوت دلخواه customer ساخته‌ایم. اگر کلمه اتریبیوت ما چندبخشی باشد (مانند customer name) برای جدا کردن هر کلمه از علامت - استفاده می‌کنیم و نام هر اتریبیوت را می‌نویسیم. مثلا:</div>
<br />
<div style="text-align: left;" class="mycode_align">
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همچنین شما می‌توانید بی‌نهایت اتریبیوت دلخواه به المان‌های اچ‌تی‌ام‌ال خود اضافه کنید و هیچ محدودیتی در این زمینه برای شما اعمال نشده است. برای مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align">
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">وقتی بخواهیم مقدار این اتریبیوت‌ها را در جاوا اسکریپت بگیریم، چه کار باید بکنیم؟</span></div>
<div style="text-align: justify;" class="mycode_align">اینجا کمی کار ما دچار تغییر می‌شود! برای این کار مراحل زیر را طی می‌کنیم:<br />
<br />
مرحله اول: انتخاب المان بر اساس id یا هر انتخاب‌گر دیگری که یاد گرفته‌ایم:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align">
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانطور که گفتیم می‌توانیم هر المان اچ‌تی‌ام‌ال را در یک متغیر ذخیره کنیم تا هر زمان خواستیم روی آن تغییر دهیم مجبور نباشیم کدها را از نو بنویسیم. بدین ترتیب کد بالا به‌صورت زیر می‌شود:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مرحله دوم: برای دریافت مقدار custom attribute هایی که خودمان به تگ اچ‌تی‌ام‌ال اضافه کرده‌ایم از قاعده کلی زیر استفاده می‌کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: small;" class="mycode_size"><span style="font-family: Monaco, Consolas, Courier, monospace;" class="mycode_font">elementName.dataset.attributeName</span></span></span><br />
</div>
<br />
<div style="text-align: justify;" class="mycode_align">این بدین مفهوم است که ما تمامی اتریبیوت‌های جدیدمان را در یک جا به نام dataset ذخیره داریم و از داخل این آبجکت می‌توانیم هر یک را جدا‌گانه داشته باشیم. برای مثال در المنت اچ‌تی‌ام‌ال زیر خواهیم داشت:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="color: #333333;" class="mycode_color"><span style="font-family: IRANSans, Tahoma;" class="mycode_font">همچنین به یاد داشته باشید در اتریبیوت‌های چنداسمی به‌جای علامت - حرف اول را بزرگ می‌نویسیم.</span></span></div>
<div style="text-align: justify;" class="mycode_align"><span style="color: #333333;" class="mycode_color"><span style="font-family: IRANSans, Tahoma;" class="mycode_font">مثلا data-custom-name می‌شود customerName<br />
</span></span><br />
در نهمین جلسه از‌ آموزش جاوا اسکریپت با نحوه انتخاب المان‌های‌ اچ‌تی‌ا‌م‌ال صفحه آشنا شدیم. نکات نگفته‌ی بسیاری در رابطه با انتخاب و تغییر المان‌های اچ‌تی‌ام‌ال وجود دارد که سعی می‌کنیم در جلسات بعدی و بعد از یادگیری مباحث مربوط به array آن‌ها را نیز بازگو کنیم. <br />
</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">در نهمین جلسه از آموزش جاوا اسکریپت سراغ یکی از مباحث پرکاربرد جاوا اسکریپت یعنی انتخاب و تغییر المان‌های HTML خواهیم رفت.</div>
<br />
<div style="text-align: justify;" class="mycode_align">تمامی صفحات وب از کدهای اچ‌تی‌ام‌ال تشکیل شده‌اند. با کمک CSS و استایل‌های آن، این کدها ظاهر مرتب‌تر و زیباتری به خود می‌گیرند. جاوا اسکریپت نیز به شما کمک می‌کند این المان‌های زیبا را تغییر دهید. مثلا محتوای اچ‌تی‌ام‌ال‌ها را تغییر دهید، آن‌ را حذف کنید یا متنی به آن اضافه کنید و ...! در این جلسه با نحوه انتخاب المان‌های اچ‌تی‌ام‌ال آشنا خواهیم شد. </div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">چگونه یک المان اچ‌تی‌ام‌ال را با کمک جاواسکریپت انتخاب کنیم؟</span></div>
<div style="text-align: justify;" class="mycode_align">اگر با زبان سی‌اس‌اس آشنا باشید، می‌دانید که به‌صورت کلی چند روش برای انتخاب المان‌ها وجود دارد! انتخاب بر اساس id، انتخاب بر اساس نام class یا انتخاب بر اساس نوع تگ (مثلا کل تگ‌های p یا h2 صفحه).</div>
<div style="text-align: justify;" class="mycode_align">در جاوا اسکریپت نیز همین قانون برقرار است. یعنی شما می‌توانید المان‌های صفحه را بر اساس نام id، نام کلاس (Class) یا نوع تگ انتخاب کنید. در تمامی این حالت ما از آبجکتی به نام document کمک می‌گیریم!‌ آبجکت داکیمونت را مانند یک ظرف خیلی بزرگ در نظر بگیرید که کل اطلاعات صفحه در آن ذخیره شده است. پس وقتی می‌خواهیم به صفحه اچ‌تی‌ام‌ال در جاوا اسکریپت دسترسی داشته باشیم، می‌رویم و داخل این جعبه document را نگاه می‌کنیم و با جستجو در آن المان‌ مورد نظرمان را انتخاب (select) می‌کنیم. </div>
<br />
<div style="text-align: justify;" class="mycode_align">برای انتخاب المان‌های اچ‌تی‌ام‌ال از جعبه document روش‌های زیر را یاد خواهیم گرفت:</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">انتخاب المان بر اساس ID:</span></div>
<div style="text-align: justify;" class="mycode_align">در این حالت فرض می‌کنیم که المان‌های اچ‌تی‌ام‌ال‌ ما دارای id منحصربه‌فردی هستند که به کمک آن‌ می‌توانیم المان‌ را شناسایی و توسط جاوا اسکریپت انتخاب و در صورت تمایل تغییرات مورد نیازمان را اعمال کنیم. </div>
<br />
<div style="text-align: justify;" class="mycode_align">دستور کلی جاوااسکریپت برای انتخاب المان بر اساس شناسه یا آی‌دی به‌صورت زیر است:</div>
<div style="text-align: justify;" class="mycode_align">این کار توسط دستور  ()getElementById  انجام می‌شود. در این دستور (یا همان متد خودمان) ما یک پرانتز داریم که داخل این پرانتز باید دو تا  “”  بگذاریم. سپس داخل این کوتیشن‌ها نام آی‌دی المان تعریف‌شده در اچ‌تی‌ام‌ال را قرار می‌دهیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثلا یک المان با ID دمو داریم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا می‌خواهیم آن را توسط جاوا اسکریپت انتخاب کنیم.<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این مثال ما المان HTML با آی‌دی select-by-id را انتخاب کرده‌ایم و می‌توانیم روی آن تغییر ایجاد کنیم.<br />
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">انتخاب بر اساس نام تگ:<br />
</span>گاهی می‌خواهیم تمامی تگ‌های اچ‌تی‌ام‌ال را به‌صورت یکجا انتخاب کنیم! مثلا می‌خواهیم هر چه تگ P یا H1 در صفحه است، یکجا انتخاب کنیم و یکجا آن‌ها را تغییر دهیم. در این حالت جاوااسکریپت روش مخصوص خودش را به ما می‌دهد. این روش که با نام selectByTagName شناخته می‌شود. دستور نوشتن انتخاب بر اساس نام تگ نیز به شکل زیر است:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این مثال ما کل المان‌های پاراگراف را که با تگ p در صفحه شناخته می‌شوند، انتخاب کرده‌ایم. دقت کنید که در اینجا ما مجموعه‌ای از المنت‌ها را با هم انتخاب می‌کنیم، پس در دستور خود کلمه Elements را به‌جای Element در دستور قبلی می‌نویسیم. <br />
<br />
<span style="font-weight: bold;" class="mycode_b">انتخاب المان بر اساس نام کلاس:</span></div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">گاهی می‌خواهیم همه المان‌هایی را که دارای یک کلاس مشخص هستند، انتخاب کنیم. در این حالت می‌توانیم از دستور  document.getElementsByClassName  استفاده کنیم و نام کلاس را همراه با “”  درون پرانتز بگذاریم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت هم نتیجه انتخاب ما یک مجموعه از المنت‌های اچ‌تی‌ام‌ال خواهد بود. برای تغییر روی چنین مجموعه‌ای که بدان آرایه می‌گوییم، باید روش‌های کار با آرایه‌هایی مثل استفاده از حلقه را یاد بگیریم. به همین خاطر در این جلسه اعمال تغییرات روی اچ‌تی‌ام‌ال را تنها محدود به حالت getElementById می‌کنیم و مباحث بیشتر در مورد این موضوع را به جلسات آینده موکول خواهیم کرد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">ذخیره المان اچ‌تی‌ام‌ال در متغیر<br />
</span>اگر بخواهیم حرفه‌ای‌تر برخورد کنیم، بهتر است المان انتخاب‌شده را در داخل یک متغیر بریزیم. بدین ترتیب هر وقت نام آن متغیر را بنویسیم به تمامی محتوای آن دسترسی داریم و می‌توانیم روی آن هر تغییری که دوست داریم اعمال کنیم.<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">بعد از انتخاب توسط جاوا اسکریپت، چه تغییراتی می‌توان روی اچ‌تی‌ام‌ال انجام داد؟<br />
</span>حالا فرض کنیم که یک المان را توسط جاوا اسکریپت انتخاب کنیم! این کار به چه دردمان می‌خورد؟ آن وقت می‌توانید تمامی تغییراتی که جاوا اسکریپت به شما اجازه می‌دهد روی آن المان انجام دهید. در واقع با انتخاب یک المان توسط جاوا اسکریپت، یک آبجکت (همانند یک ظرف کوچک دیگر در نظر بگیرید) از آن المنت خواهید داشت که در درون این آبجکت قابلیت‌های وجودی دارد (مثل محتوای داخل جعبه)! مثلا می‌توانید اچ‌تی‌ام‌ال این المان را تغییر دهید (محتوای داخل جعبه را انتخاب و تغییر دهید) می‌توانید آن را حذف کنید. بدان تگ جدیدی اضافه کنید! یک کلاس سی‌اس‌اس جدید بدان اضافه کنید و ...<br />
<br />
در ادامه لیست تغییراتی را که به‌طور کلی روی المان‌های اچ‌تی‌ام‌ال بعد از انتخاب توسط جاوا اسکریپت انجام می‌دهیم، مرور می‌کنیم:<br />
<br />
<span style="font-weight: bold;" class="mycode_b">تغییر در متن:<br />
</span>فرض کنید می‌خواهید متن یک تگ p را بعد از کلیک روی یک دکمه تغییر دهید. نه سی‌اس‌اس نه اچ‌تی‌ام‌ال هیچکدام امکان تغییر در متن را بعد از رندر شدن توسط مرورگر نمی‌دهند؛ ولی جاوا اسکریپت این امکان را در اختیار شما قرار می‌دهد. برای تغییر متن از دستور innerHTML بعد از نام المان استفاده می‌شود.<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در زیر مرحله به مرحله این کار را انجام داده‌ایم:<br />
<br />
<span style="font-weight: bold;" class="mycode_b">مرحله اول: انتخاب المان HTML  در صفحه<br />
</span>با توجه به نکاتی که بالاتر گفتیم‌ می‌توانیم یک المان اچ‌تی‌ام‌ال را بر اساس id یا class یا تگ آن انتخاب کنیم. برای مثال برای تغییر محتوای متن المان p با نام irani مراحل زیر را طی ‌می‌کنیم:</div>
<br />
<div style="text-align: justify;" class="mycode_align">
<span style="font-weight: bold;" class="mycode_b">فایل html</span></div>
<br />
<div style="text-align: justify;" class="mycode_align">
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">فایل جاوا اسکریپت</span></div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این مرحله ما در واقع از آن المان اچ‌تی‌ام‌ال که انتخاب کرده‌ایم یک آبجکت می‌سازیم. آبجکت را در جلسات بعدی مفصل‌تر صحبت خواهیم کرد؛ ولی برای درک بهتر، آبجکت اچ‌تی‌ام‌ال را مانند ظرفی در نظر بگیرید که درون آن دستورات و روش‌های مختلفی برای تغییر المان ذخیره شده است! برای دسترسی به این دستورات، کافی است نام دستور مورد نظرمان را در کنار نام آبجکت بنویسیم و یک علامت .  بگذاریم! <br />
<br />
<span style="font-weight: bold;" class="mycode_b">نکته مهم:</span> می‌توانیم المان اچ‌تی‌ام‌ال را  بعد از انتخاب در یک متغیر ذخیره کنیم. این کار چه فایده‌ای دارد؟ مهم‌ترین فایده آن است که اگر بخواهیم بعدا تغییر دیگری روی این المان اعمال کنیم مجبور نیستیم باز هم دستور  document.getElementById('irani') را بنویسیم و این کارها را تکرار کنیم! چون تمامی اطلاعات المان در یک متغیر ذخیره شده و کافی است نام متغیر را به همراه دستور دلخواه کنار آن بنویسیم!<br />
</div>
<div style="text-align: justify;" class="mycode_align">برای مثال محتوای المان اچ‌تی‌ام‌ال با id با نام irani را در یک متغیر به نام  elem ذخیره می‌کنیم:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">مرحله دوم: انجام تغییرات مورد نظر توسط جاوا اسکریپت<br />
</span>بعد از انتخاب المان توسط جاوا اسکریپت وقت آن رسیده است تا روی آن تغییرات ایجاد کنیم. گفتیم که هر المان در جاوا اسکریپت به‌صورت یک آبجکت (ظرفی که محتوای آن دستورات جاوا اسکریپتی و اطلاعات مربوط به المان) ذخیره می‌شود. برای اعمال تغییر روی این المان اچ‌تی‌ام‌ال دستور دلخواه را می‌نویسیم. مثلا برای تغییر محتوا از دستور innerHTML استفاده می‌کنیم:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">مثال‌های دیگر:<br />
</span><br />
مثال اول:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال دوم: در این مثال می‌خواهیم کمی متفاوت عمل کنیم! مثلا محتوای ذخیره‌شده در یک متغیر را روی یک المان بنویسیم. </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانطور که دیدید، یک استرینگ را که در یک متغیر ذخیره شده است، به‌عنوان متن جدید به تگ span با آی‌دی change-me داده‌ایم.<br />
<br />
مثال سوم: در این مثال قصد داریم کمی خلاقانه‌تر از این موضوع استفاده کنیم.</div>
<div style="text-align: justify;" class="mycode_align">در جاوا اسکریپت دستوری به نام prompt وجود دارد. این دستور یک پنجره مشابه الرت باز می‌کند؛ با این تفاوت که کاربر می‌تواند در این پنجره متن هم تایپ کند. <br />
برای ساخت یک پنجره prompt، یک متغیر با نام دلخواه می‌سازیم و دستور window.prompt را به عنوان مقدار به آن می‌دهیم. در نتیجه این متغیر یک پنجره propmt ٰرا در مرورگر باز می‌کند.<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همچنین دقت کنید دستور innerHTML تنها متن را تغییر نمی‌دهد! در واقع تمامی HTML را که داخل آن تگ وجود دارد تغییر می‌دهد. برای مثال اگر المان اچ‌تی‌ام‌ال شما دارای بچه‌های دیگری مثل تگ‌های‌ پاراگراف‌ یا span یا هر چیز دیگری باشد، بعد از این کار حذف و محتوای جدید جایگزین آن می‌شود!<br />
<br />
نکته بعدی آن است که شما می‌توانید یک اچ‌تی‌ام‌ال جدید را به جای استرینگ بنویسید. مثلا:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تغییر attributeهای اچ‌تی‌ام‌ال: <br />
</span>یکی دیگر از مواردی که می‌توانید روی المان‌های اچ‌تی‌ام‌ال انجام دهید، تغییر attribute-های آن‌ها است. برای این کار کافی است نام attribute را بعد از المان اچ‌تی‌ام‌ال بنویسید و مقدار جدید را بدان اختصاص دهید. <br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال: برای مثال در زیر می‌خواهیم اتریبیوت src در تصویر دارای ID با نام change-me را تغییر دهیم! برای این کار به‌راحتی دستور زیر می‌نویسیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در مثال بعدی می‌خواهیم مقدار یک اینپوت متنی در اچ‌تی‌ام‌ال را در صفحه چاپ کنیم! برای این کار ابتدا باید مقدار اینپوت را توسط جاوا اسکریپت ذخیره کنیم:<br />
<br />
HTML</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال سوم: در سومین مثال می‌خواهیم یک دکمه را به کمک جاوا اسکریپت Disable کنیم. این کار نیز به‌سادگی هر چه تمام‌تر قابل اجرا است:<br />
<br />
HTML</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">فایل JS</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">با تغییر اتریبیوت disabled در تگ Button و true یا false کردن آن می‌توانیم دکمه‌ها را فعال یا غیر فعال کنیم. <br />
<br />
<span style="font-weight: bold;" class="mycode_b">نکته پایانی:<br />
</span>همانطور که گفتیم هر اتریبیوتی در هر المان اچ‌تی‌ام‌الی قابل دسترسی است. کافی است نام آن اتریبیوت را بنویسید تا مقدار آن را بگیرید. مثلا برای دریافت نام یک فرم:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">از این دست مثال‌ها بی‌نهایت وجود دارد. کافی است خودتان دست به کار شوید و اتریبیوت تگ‌های مختلف را امتحان کنید.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">استفاده از HTML5 Data Attributes در جاوا اسکریپت:<br />
</span>یکی از قابلیت‌های HTML 5 امکان اضافه کردن اتریبیوت‌های جدید به تگ‌های HTML است. مثلا فرض کنید می‌خواهید به یک المان p علاوه بر اتربیوت id و class که به‌صورت پیش‌فرض در همه المان‌های p وجود دارند یک اتریبیوت دلخواه اضافه کنید که محتوای دلخواهتان را در خودش ذخیره می‌کند. مثلا می‌خواهیم همه المان‌های p ما دارای یک متن پیش‌فرض باشند که در صورت خالی بودن متنشان، این متن در آن‌ها نمایش داده شود.</div>
<div style="text-align: justify;" class="mycode_align">
برای این کار یک راه حل این است که یک اتریبیوت Data به اچ‌تی‌ام‌ال تگمان اضافه کنیم. قاعده کلی اضافه کردن اتریبیوت به اچ‌تی‌ام‌ال به‌صورت زیر است:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">بدین ترتیب که همیشه کلمه data-  و بعد از آن‌، نام اتریبیوت دلخواهمان را می‌نویسیم. مثلا<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این مثال ما یک تگ p با اتریبیوت دلخواه customer ساخته‌ایم. اگر کلمه اتریبیوت ما چندبخشی باشد (مانند customer name) برای جدا کردن هر کلمه از علامت - استفاده می‌کنیم و نام هر اتریبیوت را می‌نویسیم. مثلا:</div>
<br />
<div style="text-align: left;" class="mycode_align">
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همچنین شما می‌توانید بی‌نهایت اتریبیوت دلخواه به المان‌های اچ‌تی‌ام‌ال خود اضافه کنید و هیچ محدودیتی در این زمینه برای شما اعمال نشده است. برای مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align">
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">وقتی بخواهیم مقدار این اتریبیوت‌ها را در جاوا اسکریپت بگیریم، چه کار باید بکنیم؟</span></div>
<div style="text-align: justify;" class="mycode_align">اینجا کمی کار ما دچار تغییر می‌شود! برای این کار مراحل زیر را طی می‌کنیم:<br />
<br />
مرحله اول: انتخاب المان بر اساس id یا هر انتخاب‌گر دیگری که یاد گرفته‌ایم:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align">
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانطور که گفتیم می‌توانیم هر المان اچ‌تی‌ام‌ال را در یک متغیر ذخیره کنیم تا هر زمان خواستیم روی آن تغییر دهیم مجبور نباشیم کدها را از نو بنویسیم. بدین ترتیب کد بالا به‌صورت زیر می‌شود:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مرحله دوم: برای دریافت مقدار custom attribute هایی که خودمان به تگ اچ‌تی‌ام‌ال اضافه کرده‌ایم از قاعده کلی زیر استفاده می‌کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: small;" class="mycode_size"><span style="font-family: Monaco, Consolas, Courier, monospace;" class="mycode_font">elementName.dataset.attributeName</span></span></span><br />
</div>
<br />
<div style="text-align: justify;" class="mycode_align">این بدین مفهوم است که ما تمامی اتریبیوت‌های جدیدمان را در یک جا به نام dataset ذخیره داریم و از داخل این آبجکت می‌توانیم هر یک را جدا‌گانه داشته باشیم. برای مثال در المنت اچ‌تی‌ام‌ال زیر خواهیم داشت:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="color: #333333;" class="mycode_color"><span style="font-family: IRANSans, Tahoma;" class="mycode_font">همچنین به یاد داشته باشید در اتریبیوت‌های چنداسمی به‌جای علامت - حرف اول را بزرگ می‌نویسیم.</span></span></div>
<div style="text-align: justify;" class="mycode_align"><span style="color: #333333;" class="mycode_color"><span style="font-family: IRANSans, Tahoma;" class="mycode_font">مثلا data-custom-name می‌شود customerName<br />
</span></span><br />
در نهمین جلسه از‌ آموزش جاوا اسکریپت با نحوه انتخاب المان‌های‌ اچ‌تی‌ا‌م‌ال صفحه آشنا شدیم. نکات نگفته‌ی بسیاری در رابطه با انتخاب و تغییر المان‌های اچ‌تی‌ام‌ال وجود دارد که سعی می‌کنیم در جلسات بعدی و بعد از یادگیری مباحث مربوط به array آن‌ها را نیز بازگو کنیم. <br />
</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا اسکریپت - مقایسه‌گرها و if و else]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=5357</link>
			<pubDate>Mon, 21 May 2018 19:58:38 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=34">mesterweb</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=5357</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">در هشتمین جلسه از آموزش جاوا اسکریپت به سراغ مقایسه‌گر‌های مختلف می‌رویم، سپس یکی از مهم‌ترین موضوعات هر زبان برنامه‌نویسی، یعنی if و elseها را زیر ذره‌بین می‌بریم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">مقایسه‌گرها:</span></div>
<div style="text-align: justify;" class="mycode_align">قبل از شروع آموزش باید با اهمیت و نیازی که به مقایسه‌گرها داریم، آشنا شویم. همان‌طور که از نام مقایسه‌گر پیداست، وظیفه‌ی آن، مقایسه‌ی بین متغیرها است؛ به‌عنوان مثال، در متغیرهای عددی ببینید کدام عدد از کدام عدد بزرگتر یا کوچکتر است. همین که بدانید عدد ۲ از ۳ در جاوا اسکریپت کوچکتر است، در بسیاری از موارد کمک شایانی به شما خواهد کرد!</div>
<br />
<div style="text-align: justify;" class="mycode_align">مقایسه در جاوا اسکریپت انواع بسیاری دارد. نه تنها مقدار متغیرها، بلکه نوع متغیرها نیز قابل مقایسه است؛ به‌عنوان مثال، شما می‌توانید علاوه‌بر مقدار (مثلا ۲ بزرگتر است یا ۴)، نوع متغیرها (استرینگ یا عدد) را نیز مقایسه کنید یا متغیر دلخواهی را از نظر نوع و میزان با متغیر دیگر یکی است یا نه کلی به کمکتان می‌آید.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۱)  مساوی '=' </span></div>
<div style="text-align: justify;" class="mycode_align">درباره‌ی علامت =  قبلا هم صحبت کرده‌ایم و یاد گرفته‌ایم! از مساوی تنها برای اختصاص دادن یک مقدار به یک متغیر استفاده می‌شود و به هیچ‌وجه قدرت مقایسه ندارد.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۲)‌ دو مساوی '==' </span></div>
<div style="text-align: justify;" class="mycode_align">وقتی دو مساوی قرار بدهیم، جاوا اسکریپت این‌طور برداشت می‌کند که باید دو متغیر را از نظر میزان با هم مقایسه کند. مثلا متغیر x=5 را در نظر بگیرید. در نتیجه این مقایسه دو حالت پیش می‌آید. یا مقدار دو طرف مساوی برابر است و مرورگر true بر می‌گرداند یا این تساوی اشتباه است و مرورگر false بر می‌گرداند.</div>
<div style="text-align: justify;" class="mycode_align">برای مثال فرض کنید یک متغیر با نام x داریم! وقتی x == 5 بنویسیم یعنی چک‌ می‌کنیم که آیا ایکس با ۵ برابر است یا نه! اگر جواب صحیح باشد، مرورگر true بر می‌گرداند و اگر متغیر با مقدار آن سمت مساوی برابر نباشد مرورگر false بر می‌گرداند. </div>
<div style="text-align: justify;" class="mycode_align">مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۳) سه مساوی '==='</span></div>
<div style="text-align: justify;" class="mycode_align">وقتی از سه مساوی کنار هم استفاده کنیم، یعنی می‌خواهیم دو متغیر را هم از نظر مقدار و هم از نظر نوع، با یکدیگر مقایسه کنیم. در این حالت باید هر دو طرف مساوی از نظر نوع و مقدار یکسان باشند (یعنی هر دو استرینگ یا هر دو عدد باشند و مقدار آن‌ها نیز یکی باشد).</div>
<div style="text-align: justify;" class="mycode_align">مثال: </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">دو عبارت اول صحیح بود چرا که هم از نظر مقدار و هم از نظر نوع با هم برابر بودند (هر دو عدد هستند) ولی عبارت سوم اشتباه از آب در آمد. چرا؟ چون هر چند مقدار هر دو تای آن‌ها ۴ است ولی از نظر نوع با یکدیگر یکسان نیستند و هر کدام یک مدل داده هستند! یکی عدد و یکی استرینگ (به کوتیشن دور عدد ۴ در متغیر y دقت کنید تا متوجه شوید که ۴ استرینگ است!) پس مرورگر false بر می‌گرداند.</div>
<div style="text-align: justify;" class="mycode_align"> </div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۴) !=</span></div>
<div style="text-align: justify;" class="mycode_align">وقتی می‌خواهیم ببینیم که فلان عبارت با فلان عبارت مساوی نیست از این اپراتور استفاده می‌کنیم! این دقیقا نقطه بر عکس == تنها است. در این حالت می‌خواهیم چک کنیم که داده‌های دو طرف مساوی نباشند! در این حالت هم به اینکه هر کدام از  طرفین استرینگ هستند یا عدد کاری نداریم و فقط مقدارها را با هم مقایسه می‌کنیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">5) !==</span></div>
<div style="text-align: justify;" class="mycode_align">زمانی که دو مساوی و یک علامت تعجب داشته باشیم یعنی نه تنها از نظر مقداری بلکه از نظر نوع نیز داده‌ها را می‌خواهیم مقایسه کنیم! پس در این حالت دو طرف وقتی از نظر نوع یکی نباشند هم نتیجه عوض می‌شود.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">اپراتورهای منطقی:</span></div>
<div style="text-align: justify;" class="mycode_align">منظور از اپراتورهای منطقی همان علامت‌های بزرگتر و کوچکتر است که از دوران مدرسه و ریاضیات ابتدایی با آن آشنا هستیم. </div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">بزرگتر</span></div>
<div style="text-align: justify;" class="mycode_align">وقتی علامت بزرگتر قرار دهیم یعنی می‌خواهیم ببینیم عبارت سمت چپ از عبارت سمت راست بزرگتر است یا خیر. مثلا:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همچنین باید بدانید که این گونه مقایسه‌ها فقط برای اعداد قابل استفاده هستند و دو رشته متنی را نمی‌توانیم اینگونه مقایسه کنیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">کوچکتر</span></div>
<div style="text-align: justify;" class="mycode_align">وقتی علامت کوچکتر > قرار دهیم یعنی می‌خواهیم ببینیم عبارت سمت چپ از عبارت سمت راست کوچکتر است یا خیر. مثلا:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">بزرگتر یا مساوی =<</span></div>
<div style="text-align: justify;" class="mycode_align">وقتی علامت =< قرار دهیم یعنی نه تنها می‌خواهیم بدانیم عبارت سمت چپ از عبارت سمت راست کوچکتر است، بلکه می‌خواهیم بدانیم که این عبارت مساوی آن نیز هست یا خیر. یعنی حتی اگر این دو عبارت مساوی باشند نیز شرط ما را در بر‌ می‌گیرند.  مثلا:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">کوچکتر یا مساوی =></span></div>
<div style="text-align: justify;" class="mycode_align">وقتی علامت => قرار دهیم یعنی نه تنها می‌خواهیم بدانیم عبارت سمت چپ از عبارت سمت راست بزرگتر است یا خیر، بلکه می‌خواهیم بدانیم که این عبارت مساوی آن نیز هست یا خیر. یعنی حتی اگر این دو عبارت مساوی باشند نیز شرط ما را در بر می‌گیرند. مثلا:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تمرین:</span></div>
<div style="text-align: justify;" class="mycode_align">حالا که با متغیرهای عددی، اعمال روی آن‌ها و نحوه مقایسه آن‌ها آشنا شده‌ایم وقت آن رسیده تا چند تمرین ساده برای آشنایی بیشتر انجام دهیم:</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تمرین شماره ۱:</span> دو متغیر استرینگی بسازید! سپس با کمک دستور length تعداد کاراکترهای آن‌ها را پیدا کرده و مقایسه کنید که کدام یک از این جملات طولانی‌تر هستند! </div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تمرین شماره ۲:‌</span> با کمک دستور ساخت عدد رندوم، دو عدد به صورت رندوم و تصادفی بسازید و با کمک مقایسه‌گرها آن‌ها را مقایسه کنید.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">پاسخ تمرین: </span></div>
<div style="text-align: justify;" class="mycode_align">ابتدا دو متغیر خالی تعریف می‌کنیم! اگر یادتان باشد همیشه بر اساس منطقی که در برنامه داریم می‌توانیم متغیرها را در ابتدا به صورت خالی تعریف کنیم یا آن‌ها را از همان ابتدا دارای مقدار در نظر بگیریم. این موضوع کاملا به سیستمی که قصد تولید آن را دارید، بستگی دارد! </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">اینجا هم یادآوری می‌کنیم که نیازی نیست در پشت متغیرها هر بار یک کلمه var  نوشت و با نوشتن یکباره این کلمه پشت متغیر اول و قرار دادن علامت ,  بین متغیرهای دیگر می‌توانیم سریع‌تر و راحت‌تر متغیرهایمان را به یکباره تعریف کنیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">در همین مثال، می‌توانستیم از همان ابتدا نیز نوع متغیرها را مشخص کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">وقتی علامت سینگل  ' '  یا دابل کوتیشن  ""   را در روبه‌روی متغیرها می‌نویسیم در واقع به جاوا اسکریپت می‌گوییم که نوع متغیر ما استرینگ بوده و ما یک استرینگ خالی تعریف کرده‌ایم!</div>
<br />
<div style="text-align: justify;" class="mycode_align">خب به ادامه پاسخ تمرین اول بر می‌گردیم. در این مثال قرار شد که دو متغیر استرینگی را از نظر طول مقایسه کنیم. با فرض اینکه هیچ کار دیگری در برنامه انجام نمی‌شود، متغیرهای استرینگی را با متن جدید پر می‌کنیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا از یک متد جدید در استرینگ‌ها به نام length استفاده می‌کنیم. length یا طول همان‌طور که از نامش پیداست اندازه و تعداد کمی را بیان می‌کند. وقتی بعد از یک متغیر استرینگی کلمه .length نوشته می‌شود در واقع متد دریافت طول کاراکترهای نوشته اجرا می‌شود. </div>
<br />
<div style="text-align: justify;" class="mycode_align">برای مثال طول متغیر stringOne را این‌گونه می‌سنجیم: </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">اگر این مقدار را در یک متغیر جدید بریزیم یا مستقیما در کنسول چاپ کنیم عدد نمایش داده شده همان تعداد کاراکترهای استرینگی این متغیر خواهد بود.</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا برای اتمام این تمرین آن‌ها را توسط مقایسه‌گر کوچک‌تر می‌سنجیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">lf و else:</span></div>
<div style="text-align: justify;" class="mycode_align">یکی از بنیان‌های هر زبان برنامه‌نویسی استفاده از شرط‌ها است. در واقع منطق بسیاری از اعمال ما را if و  else تشکیل می‌دهد. مثلا وقتی می‌خواهیم برای رفتن به یک سفر برنامه‌ریزی کنیم، می‌گوییم اگر فلان روز تعطیل شد فلان کار را می‌کنم و اگر تعطیل نشد آن یکی کار را انجام می‌دهم و اگر هیچکدام نشد کار دیگری می‌کنم و الی آخر. این موضوع عینا در دنیای برنامه نویسی نیز صدق می‌کند.</div>
<div style="text-align: justify;" class="mycode_align">به همان پروژه ساده‌ای که در جلسات اول صحبت شد بر می‌گردیم. می‌خواهیم این بار کاری کنیم که اگر یک مشتری ویژه داشتیم درصد تخفیف بیشتری را برای وی لحاظ کند. این کار به سادگی هر چه تمام‌تر امکان‌پذیر است.</div>
<br />
<div style="text-align: justify;" class="mycode_align">فرض کنید متغیری به نام specialCustomer داریم. این متغیر وقتی true باشد یعنی مشتری ما مشتری ویژه است و زمانی که false باشد یعنی مشتری ما ویژه نیست. برای چک کردن این موضوع سراغ if و else ساده می‌رویم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانطور که در بالا مشاهده می‌کنید ما چک کرده‌ایم که اگر مشتری ما ویژه بود، ۱۰۰ تومان از مبلغ کل سفارش وی کسر شود. یعنی (totalPrice -= 100).</div>
<div style="text-align: justify;" class="mycode_align">می‌توانید به if خود یک else نیز اضافه کنید. else زمانی اتفاق می‌افتد که شرایط مد نظر شما در شرط if به هر دلیلی مورد قبول واقع نشود. بدین ترتیب شما وارد else می‌شود و کد else شما اجرا خواهد شد.</div>
<div style="text-align: justify;" class="mycode_align">با استفاده از if حالت‌های مختلفی را تعیین می‌کنید و به مرورگر می‌گویید تا در هر شرایط چه تصمیمی بگیرد و چه کاری را انجام دهد. برای نوشتن شرط‌ها ابتدا کلمه if را با دو پرانتز در کنار آن می‌نویسیم و یک آکولاد جلوی آن باز و بسته می‌کنیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">اضافه کردن شرط‌های دیگر</span></div>
<div style="text-align: justify;" class="mycode_align">گاهی پیش می‌آید شما می‌خواهید حالت‌های بیشتری را نیز چک کنید. مثلا می‌خواهید بدانید اگر عدد مورد نظر ۰ بود فلان کار را انجام بده، اگر عدد ۱ بود، فلان کار و اگر ۲ بود کار دیگر و الی آخر... برای این کار دو روش پیش روی داریم که با هم مرور می‌کنیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">روش اول:‌ استفاده از چند if پشت سر هم‌:</span></div>
<div style="text-align: justify;" class="mycode_align">در این حالت جاوا اسکریپت از بالا به پایین حرکت می‌کند.</div>
<div style="text-align: justify;" class="mycode_align">مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانطور که دیدید وقتی چند If پشت هم باشد تک تک آن‌ها چک شده و در صورت درست بودن کد درون آن‌ها اجرا خواهد شد. ولی گاهی اوقات این اتفاق خوشایند نیست! شاید ما بخواهیم بلافاصله بعد از اینکه به شرایط درست رسیدیم، حالت دیگری چک نشود! یعنی به محض اینکه به نتیجه درست رسیدیم قید هرگونه شرط و شروطی را بزنیم و به کار خود ادامه دهیم! اینجاست که حالت دوم یعنی با else if می‌رسیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال زیر را ببینید:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">استفاده از && و || </span></div>
<div style="text-align: justify;" class="mycode_align">یکی دیگر از ابزارهای مهم در شرط‌گذاری جاوا اسکریپت &&  و  ||  هستند. کاربرد این دو چیست؟‌ یک مثال می‌زنیم! فرض کنید می‌خواهید چک کنید آیا عدد ۴ بین ۵ و ۶ هست یا خیر. برای این کار به سادگی می‌توانیم از && استفاده کنیم. دو علامت & در کنار هم در شرط‌های ما به معنای آن است که بگوییم هم شرط اول برقرار باشد هم شرط دوم! </div>
<br />
<div style="text-align: justify;" class="mycode_align">مثلا: </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال دیگری را در مورد همان پروژه مدیریت رستوران با هم مرور می‌کنیم. فرض کنید سه نوع کاربر دارید!‌ کاربری که بالای هزار تومان خرید دارد. کاربری که ویژه است و کاربری که دارای امتیاز بالای ۱۰۰ است! (یا هر نوع دیگری!) می‌خواهید در صورتی که کاربری وجود داشته باشد که هر سه نوع این امتیازها را همزمان دارد و شما بخواهید برای وی کاری کنید چه کار می‌کنید؟ مطمئنا یک شرط با استفاده از && می‌گذارید و برای وی هر کاری خواستید انجام می‌دهید.</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حتی اگر یکی از شرایط برقرار نباشد، بلاک داخل این شرط اجرا نخواهد شد. && به زبان خودمان همان همچنینمی‌شود. یعنی هم این شرط و هم آن شرط باید برقرار شود.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">استفاده از || </span></div>
<div style="text-align: justify;" class="mycode_align">دو خط موازی ایستاده که در کنار هم قرار بگیرند در جاوا اسکریپت معنای یا می‌دهند. یعنی یا شرط اول یا شرط دوم برقرار بود بلاک کد آن اجرا می‌شود. یعنی فرقی نمی‌کند شرط اول غلط است یا درست ! حتی اگر یکی از موارد نیز درست باشند کد ما اجرا خواهد شد. مثال زیر را ببینید.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت چون x با یکی از حالت‌های if ما برابری می‌کند، بلاک کد if ما اجرا خواهد شد!‌</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا که هم با مقایسه‌گرها آشنا شده‌ایم و هم ساختار شرط‌ و شروط‌گذاری را می‌دانیم یک تمرین جالب‌تر انجام دهیم!</div>
<div style="text-align: justify;" class="mycode_align">حالا می‌خواهیم یک تمرین ساده دیگر برای تکمیل این جلسه انجام دهیم. </div>
<div style="text-align: justify;" class="mycode_align">فرض کنید صاحب یک مغازه سوپرمارکت هستید و می‌خواهید یک سیستم مدیریت مشتریان ایجاد کنید که افرادی که خرید بالای دو هزار تومان انجام دهند یک تخفیف ویژه ۱۰۰ تومانی بگیرند و افرادی که بیشتر از ۲۵۰۰ تومان خرید کنند ۲۰۰ تومان تخفیف بگیرند! </div>
<div style="text-align: justify;" class="mycode_align">قبل از شروع بد نیست کمی این موضوع را تحلیل کنیم! برای ایجاد چنین پروژه‌ای به یک متغیر با نام سبد خرید نیاز داریم! یک سری متغیر برای قیمت محصولات مختلف و یک درصد تخفیف مشخص که به کمک آن قیمت نهایی سبد خرید مشتریان ویژه را کاهش دهیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">برای این کار ابتدا یک متغیر به نام سبد خرید ایجاد می‌کنیم. </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">سپس تعدادی محصول را به صورت دلخواه و با متغیرهای مختلف اضافه می‌کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا فرض می‌کنیم که مشتری ما سه آیتم به سبد خرید خود اضافه کرده باشد. در این صورت قیمت نهایی سبد خرید وی مجموع قیمت محصولات انتخابی است.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا می‌خواهیم به سراغ آموخته‌های جلسه‌ای که گذرانده‌ایم برویم! در مرحله آخر باید چک کنیم که میزان خرید‌های مشتری ما آیا به حد نصاب رسیده است یا خیر! و این تخفیف چقدر خواهد بود!</div>
<br />
<div style="text-align: justify;" class="mycode_align">یک راه همانطور که گفتیم استفاده از چند if پشت سر هم است: </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">یک تمرین دیگر نیز با هم مرور می‌کنیم. فرض کنید یک متغیر با نام x داریم! </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">وقتی این فایل را اجرا کنیم هم بلاک اول و هم بلاک دوم اجرا می‌شود! چرا که مرورگر با وجود رسیدن به شرط درست در بلاک اول باز هم به جستجو در ifهای دیگر ادامه می‌دهد و همه آن‌ها را اجرا می‌کند. از آنجا که ما در بلاک اول مقدار متغیر ایکس را تغییر داده‌ایم پس ساختار شرط‌هایمان نیز تغییر کرده است!</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا همین مثال را با کمک else if اجرا می کنیم: </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">اگر این کد را اجرا کنید خواهید دید که تنها یک بار و در بلاک اول کد ما اجرا شد! در واقع  else if  تنها یک بار اجرا می‌شود و مرورگر در صورت پیدا کردن شرایط درست دیگر سراغ دیگر شرط و شروط نخواهد رفت!</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">در هشتمین جلسه از آموزش جاوا اسکریپت به سراغ مقایسه‌گر‌های مختلف می‌رویم، سپس یکی از مهم‌ترین موضوعات هر زبان برنامه‌نویسی، یعنی if و elseها را زیر ذره‌بین می‌بریم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">مقایسه‌گرها:</span></div>
<div style="text-align: justify;" class="mycode_align">قبل از شروع آموزش باید با اهمیت و نیازی که به مقایسه‌گرها داریم، آشنا شویم. همان‌طور که از نام مقایسه‌گر پیداست، وظیفه‌ی آن، مقایسه‌ی بین متغیرها است؛ به‌عنوان مثال، در متغیرهای عددی ببینید کدام عدد از کدام عدد بزرگتر یا کوچکتر است. همین که بدانید عدد ۲ از ۳ در جاوا اسکریپت کوچکتر است، در بسیاری از موارد کمک شایانی به شما خواهد کرد!</div>
<br />
<div style="text-align: justify;" class="mycode_align">مقایسه در جاوا اسکریپت انواع بسیاری دارد. نه تنها مقدار متغیرها، بلکه نوع متغیرها نیز قابل مقایسه است؛ به‌عنوان مثال، شما می‌توانید علاوه‌بر مقدار (مثلا ۲ بزرگتر است یا ۴)، نوع متغیرها (استرینگ یا عدد) را نیز مقایسه کنید یا متغیر دلخواهی را از نظر نوع و میزان با متغیر دیگر یکی است یا نه کلی به کمکتان می‌آید.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۱)  مساوی '=' </span></div>
<div style="text-align: justify;" class="mycode_align">درباره‌ی علامت =  قبلا هم صحبت کرده‌ایم و یاد گرفته‌ایم! از مساوی تنها برای اختصاص دادن یک مقدار به یک متغیر استفاده می‌شود و به هیچ‌وجه قدرت مقایسه ندارد.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۲)‌ دو مساوی '==' </span></div>
<div style="text-align: justify;" class="mycode_align">وقتی دو مساوی قرار بدهیم، جاوا اسکریپت این‌طور برداشت می‌کند که باید دو متغیر را از نظر میزان با هم مقایسه کند. مثلا متغیر x=5 را در نظر بگیرید. در نتیجه این مقایسه دو حالت پیش می‌آید. یا مقدار دو طرف مساوی برابر است و مرورگر true بر می‌گرداند یا این تساوی اشتباه است و مرورگر false بر می‌گرداند.</div>
<div style="text-align: justify;" class="mycode_align">برای مثال فرض کنید یک متغیر با نام x داریم! وقتی x == 5 بنویسیم یعنی چک‌ می‌کنیم که آیا ایکس با ۵ برابر است یا نه! اگر جواب صحیح باشد، مرورگر true بر می‌گرداند و اگر متغیر با مقدار آن سمت مساوی برابر نباشد مرورگر false بر می‌گرداند. </div>
<div style="text-align: justify;" class="mycode_align">مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۳) سه مساوی '==='</span></div>
<div style="text-align: justify;" class="mycode_align">وقتی از سه مساوی کنار هم استفاده کنیم، یعنی می‌خواهیم دو متغیر را هم از نظر مقدار و هم از نظر نوع، با یکدیگر مقایسه کنیم. در این حالت باید هر دو طرف مساوی از نظر نوع و مقدار یکسان باشند (یعنی هر دو استرینگ یا هر دو عدد باشند و مقدار آن‌ها نیز یکی باشد).</div>
<div style="text-align: justify;" class="mycode_align">مثال: </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">دو عبارت اول صحیح بود چرا که هم از نظر مقدار و هم از نظر نوع با هم برابر بودند (هر دو عدد هستند) ولی عبارت سوم اشتباه از آب در آمد. چرا؟ چون هر چند مقدار هر دو تای آن‌ها ۴ است ولی از نظر نوع با یکدیگر یکسان نیستند و هر کدام یک مدل داده هستند! یکی عدد و یکی استرینگ (به کوتیشن دور عدد ۴ در متغیر y دقت کنید تا متوجه شوید که ۴ استرینگ است!) پس مرورگر false بر می‌گرداند.</div>
<div style="text-align: justify;" class="mycode_align"> </div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۴) !=</span></div>
<div style="text-align: justify;" class="mycode_align">وقتی می‌خواهیم ببینیم که فلان عبارت با فلان عبارت مساوی نیست از این اپراتور استفاده می‌کنیم! این دقیقا نقطه بر عکس == تنها است. در این حالت می‌خواهیم چک کنیم که داده‌های دو طرف مساوی نباشند! در این حالت هم به اینکه هر کدام از  طرفین استرینگ هستند یا عدد کاری نداریم و فقط مقدارها را با هم مقایسه می‌کنیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">5) !==</span></div>
<div style="text-align: justify;" class="mycode_align">زمانی که دو مساوی و یک علامت تعجب داشته باشیم یعنی نه تنها از نظر مقداری بلکه از نظر نوع نیز داده‌ها را می‌خواهیم مقایسه کنیم! پس در این حالت دو طرف وقتی از نظر نوع یکی نباشند هم نتیجه عوض می‌شود.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">اپراتورهای منطقی:</span></div>
<div style="text-align: justify;" class="mycode_align">منظور از اپراتورهای منطقی همان علامت‌های بزرگتر و کوچکتر است که از دوران مدرسه و ریاضیات ابتدایی با آن آشنا هستیم. </div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">بزرگتر</span></div>
<div style="text-align: justify;" class="mycode_align">وقتی علامت بزرگتر قرار دهیم یعنی می‌خواهیم ببینیم عبارت سمت چپ از عبارت سمت راست بزرگتر است یا خیر. مثلا:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همچنین باید بدانید که این گونه مقایسه‌ها فقط برای اعداد قابل استفاده هستند و دو رشته متنی را نمی‌توانیم اینگونه مقایسه کنیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">کوچکتر</span></div>
<div style="text-align: justify;" class="mycode_align">وقتی علامت کوچکتر > قرار دهیم یعنی می‌خواهیم ببینیم عبارت سمت چپ از عبارت سمت راست کوچکتر است یا خیر. مثلا:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">بزرگتر یا مساوی =<</span></div>
<div style="text-align: justify;" class="mycode_align">وقتی علامت =< قرار دهیم یعنی نه تنها می‌خواهیم بدانیم عبارت سمت چپ از عبارت سمت راست کوچکتر است، بلکه می‌خواهیم بدانیم که این عبارت مساوی آن نیز هست یا خیر. یعنی حتی اگر این دو عبارت مساوی باشند نیز شرط ما را در بر‌ می‌گیرند.  مثلا:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">کوچکتر یا مساوی =></span></div>
<div style="text-align: justify;" class="mycode_align">وقتی علامت => قرار دهیم یعنی نه تنها می‌خواهیم بدانیم عبارت سمت چپ از عبارت سمت راست بزرگتر است یا خیر، بلکه می‌خواهیم بدانیم که این عبارت مساوی آن نیز هست یا خیر. یعنی حتی اگر این دو عبارت مساوی باشند نیز شرط ما را در بر می‌گیرند. مثلا:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تمرین:</span></div>
<div style="text-align: justify;" class="mycode_align">حالا که با متغیرهای عددی، اعمال روی آن‌ها و نحوه مقایسه آن‌ها آشنا شده‌ایم وقت آن رسیده تا چند تمرین ساده برای آشنایی بیشتر انجام دهیم:</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تمرین شماره ۱:</span> دو متغیر استرینگی بسازید! سپس با کمک دستور length تعداد کاراکترهای آن‌ها را پیدا کرده و مقایسه کنید که کدام یک از این جملات طولانی‌تر هستند! </div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تمرین شماره ۲:‌</span> با کمک دستور ساخت عدد رندوم، دو عدد به صورت رندوم و تصادفی بسازید و با کمک مقایسه‌گرها آن‌ها را مقایسه کنید.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">پاسخ تمرین: </span></div>
<div style="text-align: justify;" class="mycode_align">ابتدا دو متغیر خالی تعریف می‌کنیم! اگر یادتان باشد همیشه بر اساس منطقی که در برنامه داریم می‌توانیم متغیرها را در ابتدا به صورت خالی تعریف کنیم یا آن‌ها را از همان ابتدا دارای مقدار در نظر بگیریم. این موضوع کاملا به سیستمی که قصد تولید آن را دارید، بستگی دارد! </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">اینجا هم یادآوری می‌کنیم که نیازی نیست در پشت متغیرها هر بار یک کلمه var  نوشت و با نوشتن یکباره این کلمه پشت متغیر اول و قرار دادن علامت ,  بین متغیرهای دیگر می‌توانیم سریع‌تر و راحت‌تر متغیرهایمان را به یکباره تعریف کنیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">در همین مثال، می‌توانستیم از همان ابتدا نیز نوع متغیرها را مشخص کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">وقتی علامت سینگل  ' '  یا دابل کوتیشن  ""   را در روبه‌روی متغیرها می‌نویسیم در واقع به جاوا اسکریپت می‌گوییم که نوع متغیر ما استرینگ بوده و ما یک استرینگ خالی تعریف کرده‌ایم!</div>
<br />
<div style="text-align: justify;" class="mycode_align">خب به ادامه پاسخ تمرین اول بر می‌گردیم. در این مثال قرار شد که دو متغیر استرینگی را از نظر طول مقایسه کنیم. با فرض اینکه هیچ کار دیگری در برنامه انجام نمی‌شود، متغیرهای استرینگی را با متن جدید پر می‌کنیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا از یک متد جدید در استرینگ‌ها به نام length استفاده می‌کنیم. length یا طول همان‌طور که از نامش پیداست اندازه و تعداد کمی را بیان می‌کند. وقتی بعد از یک متغیر استرینگی کلمه .length نوشته می‌شود در واقع متد دریافت طول کاراکترهای نوشته اجرا می‌شود. </div>
<br />
<div style="text-align: justify;" class="mycode_align">برای مثال طول متغیر stringOne را این‌گونه می‌سنجیم: </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">اگر این مقدار را در یک متغیر جدید بریزیم یا مستقیما در کنسول چاپ کنیم عدد نمایش داده شده همان تعداد کاراکترهای استرینگی این متغیر خواهد بود.</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا برای اتمام این تمرین آن‌ها را توسط مقایسه‌گر کوچک‌تر می‌سنجیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">lf و else:</span></div>
<div style="text-align: justify;" class="mycode_align">یکی از بنیان‌های هر زبان برنامه‌نویسی استفاده از شرط‌ها است. در واقع منطق بسیاری از اعمال ما را if و  else تشکیل می‌دهد. مثلا وقتی می‌خواهیم برای رفتن به یک سفر برنامه‌ریزی کنیم، می‌گوییم اگر فلان روز تعطیل شد فلان کار را می‌کنم و اگر تعطیل نشد آن یکی کار را انجام می‌دهم و اگر هیچکدام نشد کار دیگری می‌کنم و الی آخر. این موضوع عینا در دنیای برنامه نویسی نیز صدق می‌کند.</div>
<div style="text-align: justify;" class="mycode_align">به همان پروژه ساده‌ای که در جلسات اول صحبت شد بر می‌گردیم. می‌خواهیم این بار کاری کنیم که اگر یک مشتری ویژه داشتیم درصد تخفیف بیشتری را برای وی لحاظ کند. این کار به سادگی هر چه تمام‌تر امکان‌پذیر است.</div>
<br />
<div style="text-align: justify;" class="mycode_align">فرض کنید متغیری به نام specialCustomer داریم. این متغیر وقتی true باشد یعنی مشتری ما مشتری ویژه است و زمانی که false باشد یعنی مشتری ما ویژه نیست. برای چک کردن این موضوع سراغ if و else ساده می‌رویم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانطور که در بالا مشاهده می‌کنید ما چک کرده‌ایم که اگر مشتری ما ویژه بود، ۱۰۰ تومان از مبلغ کل سفارش وی کسر شود. یعنی (totalPrice -= 100).</div>
<div style="text-align: justify;" class="mycode_align">می‌توانید به if خود یک else نیز اضافه کنید. else زمانی اتفاق می‌افتد که شرایط مد نظر شما در شرط if به هر دلیلی مورد قبول واقع نشود. بدین ترتیب شما وارد else می‌شود و کد else شما اجرا خواهد شد.</div>
<div style="text-align: justify;" class="mycode_align">با استفاده از if حالت‌های مختلفی را تعیین می‌کنید و به مرورگر می‌گویید تا در هر شرایط چه تصمیمی بگیرد و چه کاری را انجام دهد. برای نوشتن شرط‌ها ابتدا کلمه if را با دو پرانتز در کنار آن می‌نویسیم و یک آکولاد جلوی آن باز و بسته می‌کنیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">اضافه کردن شرط‌های دیگر</span></div>
<div style="text-align: justify;" class="mycode_align">گاهی پیش می‌آید شما می‌خواهید حالت‌های بیشتری را نیز چک کنید. مثلا می‌خواهید بدانید اگر عدد مورد نظر ۰ بود فلان کار را انجام بده، اگر عدد ۱ بود، فلان کار و اگر ۲ بود کار دیگر و الی آخر... برای این کار دو روش پیش روی داریم که با هم مرور می‌کنیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">روش اول:‌ استفاده از چند if پشت سر هم‌:</span></div>
<div style="text-align: justify;" class="mycode_align">در این حالت جاوا اسکریپت از بالا به پایین حرکت می‌کند.</div>
<div style="text-align: justify;" class="mycode_align">مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانطور که دیدید وقتی چند If پشت هم باشد تک تک آن‌ها چک شده و در صورت درست بودن کد درون آن‌ها اجرا خواهد شد. ولی گاهی اوقات این اتفاق خوشایند نیست! شاید ما بخواهیم بلافاصله بعد از اینکه به شرایط درست رسیدیم، حالت دیگری چک نشود! یعنی به محض اینکه به نتیجه درست رسیدیم قید هرگونه شرط و شروطی را بزنیم و به کار خود ادامه دهیم! اینجاست که حالت دوم یعنی با else if می‌رسیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال زیر را ببینید:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">استفاده از && و || </span></div>
<div style="text-align: justify;" class="mycode_align">یکی دیگر از ابزارهای مهم در شرط‌گذاری جاوا اسکریپت &&  و  ||  هستند. کاربرد این دو چیست؟‌ یک مثال می‌زنیم! فرض کنید می‌خواهید چک کنید آیا عدد ۴ بین ۵ و ۶ هست یا خیر. برای این کار به سادگی می‌توانیم از && استفاده کنیم. دو علامت & در کنار هم در شرط‌های ما به معنای آن است که بگوییم هم شرط اول برقرار باشد هم شرط دوم! </div>
<br />
<div style="text-align: justify;" class="mycode_align">مثلا: </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال دیگری را در مورد همان پروژه مدیریت رستوران با هم مرور می‌کنیم. فرض کنید سه نوع کاربر دارید!‌ کاربری که بالای هزار تومان خرید دارد. کاربری که ویژه است و کاربری که دارای امتیاز بالای ۱۰۰ است! (یا هر نوع دیگری!) می‌خواهید در صورتی که کاربری وجود داشته باشد که هر سه نوع این امتیازها را همزمان دارد و شما بخواهید برای وی کاری کنید چه کار می‌کنید؟ مطمئنا یک شرط با استفاده از && می‌گذارید و برای وی هر کاری خواستید انجام می‌دهید.</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حتی اگر یکی از شرایط برقرار نباشد، بلاک داخل این شرط اجرا نخواهد شد. && به زبان خودمان همان همچنینمی‌شود. یعنی هم این شرط و هم آن شرط باید برقرار شود.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">استفاده از || </span></div>
<div style="text-align: justify;" class="mycode_align">دو خط موازی ایستاده که در کنار هم قرار بگیرند در جاوا اسکریپت معنای یا می‌دهند. یعنی یا شرط اول یا شرط دوم برقرار بود بلاک کد آن اجرا می‌شود. یعنی فرقی نمی‌کند شرط اول غلط است یا درست ! حتی اگر یکی از موارد نیز درست باشند کد ما اجرا خواهد شد. مثال زیر را ببینید.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت چون x با یکی از حالت‌های if ما برابری می‌کند، بلاک کد if ما اجرا خواهد شد!‌</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا که هم با مقایسه‌گرها آشنا شده‌ایم و هم ساختار شرط‌ و شروط‌گذاری را می‌دانیم یک تمرین جالب‌تر انجام دهیم!</div>
<div style="text-align: justify;" class="mycode_align">حالا می‌خواهیم یک تمرین ساده دیگر برای تکمیل این جلسه انجام دهیم. </div>
<div style="text-align: justify;" class="mycode_align">فرض کنید صاحب یک مغازه سوپرمارکت هستید و می‌خواهید یک سیستم مدیریت مشتریان ایجاد کنید که افرادی که خرید بالای دو هزار تومان انجام دهند یک تخفیف ویژه ۱۰۰ تومانی بگیرند و افرادی که بیشتر از ۲۵۰۰ تومان خرید کنند ۲۰۰ تومان تخفیف بگیرند! </div>
<div style="text-align: justify;" class="mycode_align">قبل از شروع بد نیست کمی این موضوع را تحلیل کنیم! برای ایجاد چنین پروژه‌ای به یک متغیر با نام سبد خرید نیاز داریم! یک سری متغیر برای قیمت محصولات مختلف و یک درصد تخفیف مشخص که به کمک آن قیمت نهایی سبد خرید مشتریان ویژه را کاهش دهیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align">برای این کار ابتدا یک متغیر به نام سبد خرید ایجاد می‌کنیم. </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">سپس تعدادی محصول را به صورت دلخواه و با متغیرهای مختلف اضافه می‌کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا فرض می‌کنیم که مشتری ما سه آیتم به سبد خرید خود اضافه کرده باشد. در این صورت قیمت نهایی سبد خرید وی مجموع قیمت محصولات انتخابی است.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا می‌خواهیم به سراغ آموخته‌های جلسه‌ای که گذرانده‌ایم برویم! در مرحله آخر باید چک کنیم که میزان خرید‌های مشتری ما آیا به حد نصاب رسیده است یا خیر! و این تخفیف چقدر خواهد بود!</div>
<br />
<div style="text-align: justify;" class="mycode_align">یک راه همانطور که گفتیم استفاده از چند if پشت سر هم است: </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">یک تمرین دیگر نیز با هم مرور می‌کنیم. فرض کنید یک متغیر با نام x داریم! </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">وقتی این فایل را اجرا کنیم هم بلاک اول و هم بلاک دوم اجرا می‌شود! چرا که مرورگر با وجود رسیدن به شرط درست در بلاک اول باز هم به جستجو در ifهای دیگر ادامه می‌دهد و همه آن‌ها را اجرا می‌کند. از آنجا که ما در بلاک اول مقدار متغیر ایکس را تغییر داده‌ایم پس ساختار شرط‌هایمان نیز تغییر کرده است!</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا همین مثال را با کمک else if اجرا می کنیم: </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">اگر این کد را اجرا کنید خواهید دید که تنها یک بار و در بلاک اول کد ما اجرا شد! در واقع  else if  تنها یک بار اجرا می‌شود و مرورگر در صورت پیدا کردن شرایط درست دیگر سراغ دیگر شرط و شروط نخواهد رفت!</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا اسکریپت - متغیرهای شرطی (بولین)]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=5356</link>
			<pubDate>Mon, 21 May 2018 17:58:17 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=34">mesterweb</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=5356</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">در هفتمین جلسه از آموزش جاوا اسکریپت به زبان ساده، سراغ بولین‌ها یا متغیرهای شرطی خواهیم رفت. <br />
<br />
سومین نوع داده‌ها، بولین‌ها هستند. بولین‌ها متغیرهایی هستند که دو حالت بیشتر ندارند؛ یا درست (true) هستند یا غلط (false). از بولین‌ها برای چک کردن شرایط و تغییراتی که دو حالت بیشتر ندارند استفاده می‌شود.<br />
بولین‌ها بسیار کاربردی هستند؛ مثلا فرض کنید می‌خواهید بگویید اگر فلانی مشتری ویژه بود این تخفیف را اضافه کن و اگر نبود این کار را نکن. این یک شرایط دومتغیره است که یا فلانی مشتری ویژه است یا نیست؛ یعنی متغیر مشتری ویژه برای وی یا true‌ است یا false. یا برای چک کردن هوای بارانی، وقتی باران نیاید فرض می‌کنیم false و اگر باران ببارد فرض می‌کنیم true.</div>
<div style="text-align: justify;" class="mycode_align">
خوبی بولین‌ این است که می‌توانید مقدار آن‌ها را به دلخواه تغییر دهید. یعنی یک‌ مقدار پیش‌فرض مثلا false برای آن‌ها تعریف کنید و بعد مثلا با یک دکمه مقدار آن را به true تغییر دهید. <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
بولین‌ها همانند دیگر متغیرهای جاوا اسکریپت قابلیت تغییر دارند. مثلا فرض کنید یک متغیر بولین داریم که در ابتدای کد، مساوی false قرار داده‌ایم. بعدا در صورت نیاز باید مقدار آن را true کنیم. بدین ترتیب از آنجای کد به بعد، متغیر ما مقدار true خواهد داشت.<br />
<br />
مثال:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">از اینجا به بعد مقدار متغیر true برابر با booleanVariable خواهد بود.</div>
<div style="text-align: justify;" class="mycode_align">
یکی از کاربردی‌ترین امکانی که بولین‌ها در اختیار ما قرار می‌دهند آن است که وضعیت ما را در حالت‌های تکراری مشخص می‌کنند. یک مثال ابتدایی از این موضوع را با هم مرور می‌کنیم. مثلا فرض کنید ما می‌خواهیم وقتی برای بار اولی که روی یک متغیر کلیک شد، یک اتفاق بیفتد و در دفعات بعدی اتفاق دیگری رخ دهد. یعنی می‌خواهیم کلیک اول را از کلیک‌های دیگر مجزا کنیم. این موضوع را به‌راحتی می‌توانیم به کمک بولین‌ها چک کنیم. چگونه؟</div>
<br />
<div style="text-align: justify;" class="mycode_align">
ابتدا یک متغیر به نام clicked می‌سازیم. <br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا به کمک دستورات جاوا اسکریپت، ایونت کلیک روی المان دکمه را چک می‌کنیم. (چون ما هنوز با ایونت کلیک و نحوه قرار دادن ایونت روی المان‌ها آشنا نیستیم، با کمک اتریبیوت HTML مخصوص این کار یعنی onclick این کار را می‌کنیم.)<br />
<br />
برای مثال روی یک دکمه به شکل زیر اتریبیوت آن کلیک تعریف می کنیم:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این اتریبیوت ما باید یک فانکشن به عنوان مقدار به اتریبیوت اضافه کنیم که در اینجا ما فانکشن clickHandler را بدان وصل کرده‌ایم. فانکشن‌ها یک جلسه کاملا اختصاصی دارند ولی برای آشنایی فعلی شما آن را مختصرا توضیح می‌دهیم. فانکشن یک سری تکه کد است که در صورت نیاز و خواسته ما در کد تکرار می‌شود. فانکشن‌ها عملکرد مخصوص خودشان را دارند و معمولا دارای نام مشخص هستند(مثلا نام فانکشن ما در اینجا clickHandler است). </div>
<div style="text-align: justify;" class="mycode_align">البته فانکشن‌های بدون نام هم وجود دارند که در بخش مخصوص به خودشان آن‌ها را به شما آموزش خواهیم داد.</div>
<br />
<div style="text-align: justify;" class="mycode_align">
برای تعریف فانکشن‌ها نیز در کد جاوا اسکریپت، کلمه کلیدی فانکشن و سپس نام فانکشن را به همراه پرانتز در جلوی آن می‌نویسیم:</div>
<div style="text-align: justify;" class="mycode_align">
در همین مثال ما یک فانکشن به اسم کلیک هندلر داریم. کار این فانکشن این است که چک کند ما کلیک اول هستیم یا خیر. <br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال‌های بسیار دیگری از کاربرد بولین‌ها در جاوا اسکریپت وجود دارند. مثلا شما میتوانید یک متغیر در ابتدای کد تعریف کنید به عنوان userStayLongTime  و مقدار آن را مساوی false قرار دهید. سپس با گذشت زمان مشخصی این متغیر را true کنید و بدین ترتیب متوجه شوید که یوزر زمان زیادی را در صفحه شما گذرانده است. سپس هر جا که خواستید می‌توانید با چک کردن این متغیر متوجه شوید که آیا یوزر مورد نظر شما زمان کافی در سایت گذرانده یا خیر و بر این اساس عملکرد متفاوتی نمایش دهید! استفاده‌های خلاقانه‌تر و جالب‌تری نیز از این موضوع وجود دارند ولی نیازمند یادگیری بخش‌های بیشتری از جاوا اسکریپت هستند!</div>
<br />
<div style="text-align: justify;" class="mycode_align">در جلسات آینده و به مرور با تکمیل شدن دانش شما روش‌های خلاقانه‌تری برای استفاده از بولین‌ها خواهیم آموخت.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">انواع دیگر متغیرها:<br />
</span>در کنار این‌ها، دو نوع داده دیگر نیز داریم که احتمالا در حین کد زدن خیلی با آن‌ها مواجه خواهید شد: null و  undefined که در واقع هر کدام یک مقدار مشخص دارند. نال به معنای خالی است و وقتی که مقدار متغیر شما خالی باشد، استفاده می‌شود. undefined به معنای تعریف‌نشده است و وقتی متغیری مقدار نامشخصی داشته یا تعریف نشده باشد، به ما نمایش داده خواهد شد. مثلا وقتی یک متغیر هنوز تعریف نشده باشد و شما آن را در قالب پنجره alert صدا بزنید با ارور مقدار undefined مواجه خواهید شد. این موضوع را حتما به‌عنوان یک تمرین ساده امتحان کنید.<br />
<br />
هفتمین جلسه از آموزش جاوا اسکریپت نیز با آموزش متغیرهای بولین به پایان رسید. همانطور که گفتیم، این متغیرها کاربرد بسیار زیادی در دنیای برنامه نویسی دارند؛ ولی برای استفاده کامل از آن‌ها هنوز خیلی چیزها باید یاد بگیرید. پس برای یادگیری عمیق‌ عجله نکنید! هنوز زمان زیادی تا پایان آموزش‌ها باقی است!<br />
</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">در هفتمین جلسه از آموزش جاوا اسکریپت به زبان ساده، سراغ بولین‌ها یا متغیرهای شرطی خواهیم رفت. <br />
<br />
سومین نوع داده‌ها، بولین‌ها هستند. بولین‌ها متغیرهایی هستند که دو حالت بیشتر ندارند؛ یا درست (true) هستند یا غلط (false). از بولین‌ها برای چک کردن شرایط و تغییراتی که دو حالت بیشتر ندارند استفاده می‌شود.<br />
بولین‌ها بسیار کاربردی هستند؛ مثلا فرض کنید می‌خواهید بگویید اگر فلانی مشتری ویژه بود این تخفیف را اضافه کن و اگر نبود این کار را نکن. این یک شرایط دومتغیره است که یا فلانی مشتری ویژه است یا نیست؛ یعنی متغیر مشتری ویژه برای وی یا true‌ است یا false. یا برای چک کردن هوای بارانی، وقتی باران نیاید فرض می‌کنیم false و اگر باران ببارد فرض می‌کنیم true.</div>
<div style="text-align: justify;" class="mycode_align">
خوبی بولین‌ این است که می‌توانید مقدار آن‌ها را به دلخواه تغییر دهید. یعنی یک‌ مقدار پیش‌فرض مثلا false برای آن‌ها تعریف کنید و بعد مثلا با یک دکمه مقدار آن را به true تغییر دهید. <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
بولین‌ها همانند دیگر متغیرهای جاوا اسکریپت قابلیت تغییر دارند. مثلا فرض کنید یک متغیر بولین داریم که در ابتدای کد، مساوی false قرار داده‌ایم. بعدا در صورت نیاز باید مقدار آن را true کنیم. بدین ترتیب از آنجای کد به بعد، متغیر ما مقدار true خواهد داشت.<br />
<br />
مثال:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">از اینجا به بعد مقدار متغیر true برابر با booleanVariable خواهد بود.</div>
<div style="text-align: justify;" class="mycode_align">
یکی از کاربردی‌ترین امکانی که بولین‌ها در اختیار ما قرار می‌دهند آن است که وضعیت ما را در حالت‌های تکراری مشخص می‌کنند. یک مثال ابتدایی از این موضوع را با هم مرور می‌کنیم. مثلا فرض کنید ما می‌خواهیم وقتی برای بار اولی که روی یک متغیر کلیک شد، یک اتفاق بیفتد و در دفعات بعدی اتفاق دیگری رخ دهد. یعنی می‌خواهیم کلیک اول را از کلیک‌های دیگر مجزا کنیم. این موضوع را به‌راحتی می‌توانیم به کمک بولین‌ها چک کنیم. چگونه؟</div>
<br />
<div style="text-align: justify;" class="mycode_align">
ابتدا یک متغیر به نام clicked می‌سازیم. <br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا به کمک دستورات جاوا اسکریپت، ایونت کلیک روی المان دکمه را چک می‌کنیم. (چون ما هنوز با ایونت کلیک و نحوه قرار دادن ایونت روی المان‌ها آشنا نیستیم، با کمک اتریبیوت HTML مخصوص این کار یعنی onclick این کار را می‌کنیم.)<br />
<br />
برای مثال روی یک دکمه به شکل زیر اتریبیوت آن کلیک تعریف می کنیم:<br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این اتریبیوت ما باید یک فانکشن به عنوان مقدار به اتریبیوت اضافه کنیم که در اینجا ما فانکشن clickHandler را بدان وصل کرده‌ایم. فانکشن‌ها یک جلسه کاملا اختصاصی دارند ولی برای آشنایی فعلی شما آن را مختصرا توضیح می‌دهیم. فانکشن یک سری تکه کد است که در صورت نیاز و خواسته ما در کد تکرار می‌شود. فانکشن‌ها عملکرد مخصوص خودشان را دارند و معمولا دارای نام مشخص هستند(مثلا نام فانکشن ما در اینجا clickHandler است). </div>
<div style="text-align: justify;" class="mycode_align">البته فانکشن‌های بدون نام هم وجود دارند که در بخش مخصوص به خودشان آن‌ها را به شما آموزش خواهیم داد.</div>
<br />
<div style="text-align: justify;" class="mycode_align">
برای تعریف فانکشن‌ها نیز در کد جاوا اسکریپت، کلمه کلیدی فانکشن و سپس نام فانکشن را به همراه پرانتز در جلوی آن می‌نویسیم:</div>
<div style="text-align: justify;" class="mycode_align">
در همین مثال ما یک فانکشن به اسم کلیک هندلر داریم. کار این فانکشن این است که چک کند ما کلیک اول هستیم یا خیر. <br />
</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مثال‌های بسیار دیگری از کاربرد بولین‌ها در جاوا اسکریپت وجود دارند. مثلا شما میتوانید یک متغیر در ابتدای کد تعریف کنید به عنوان userStayLongTime  و مقدار آن را مساوی false قرار دهید. سپس با گذشت زمان مشخصی این متغیر را true کنید و بدین ترتیب متوجه شوید که یوزر زمان زیادی را در صفحه شما گذرانده است. سپس هر جا که خواستید می‌توانید با چک کردن این متغیر متوجه شوید که آیا یوزر مورد نظر شما زمان کافی در سایت گذرانده یا خیر و بر این اساس عملکرد متفاوتی نمایش دهید! استفاده‌های خلاقانه‌تر و جالب‌تری نیز از این موضوع وجود دارند ولی نیازمند یادگیری بخش‌های بیشتری از جاوا اسکریپت هستند!</div>
<br />
<div style="text-align: justify;" class="mycode_align">در جلسات آینده و به مرور با تکمیل شدن دانش شما روش‌های خلاقانه‌تری برای استفاده از بولین‌ها خواهیم آموخت.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">انواع دیگر متغیرها:<br />
</span>در کنار این‌ها، دو نوع داده دیگر نیز داریم که احتمالا در حین کد زدن خیلی با آن‌ها مواجه خواهید شد: null و  undefined که در واقع هر کدام یک مقدار مشخص دارند. نال به معنای خالی است و وقتی که مقدار متغیر شما خالی باشد، استفاده می‌شود. undefined به معنای تعریف‌نشده است و وقتی متغیری مقدار نامشخصی داشته یا تعریف نشده باشد، به ما نمایش داده خواهد شد. مثلا وقتی یک متغیر هنوز تعریف نشده باشد و شما آن را در قالب پنجره alert صدا بزنید با ارور مقدار undefined مواجه خواهید شد. این موضوع را حتما به‌عنوان یک تمرین ساده امتحان کنید.<br />
<br />
هفتمین جلسه از آموزش جاوا اسکریپت نیز با آموزش متغیرهای بولین به پایان رسید. همانطور که گفتیم، این متغیرها کاربرد بسیار زیادی در دنیای برنامه نویسی دارند؛ ولی برای استفاده کامل از آن‌ها هنوز خیلی چیزها باید یاد بگیرید. پس برای یادگیری عمیق‌ عجله نکنید! هنوز زمان زیادی تا پایان آموزش‌ها باقی است!<br />
</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا اسکریپت - اعمال ریاضی روی متغیرهای عددی]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=5355</link>
			<pubDate>Mon, 21 May 2018 17:44:09 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=34">mesterweb</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=5355</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">گاهی می‌خواهیم به‌صورت مساوی یک مقدار را به یک متغیر اضافه کنیم. مثلا می‌خواهیم ۵ تا به یک متغیر اضافه یا کم کنیم! برای آشنایی با نحوه‌ی انجام ریاضیات ساده روی متغیرها در جاوا اسکریپت با ما همراه شوید.</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این جلسه قصد داریم با نحوه‌ی جمع و تفریق و ضرب و تقسیم متغیرها آشنا شویم. این اعمال تنها روی متغیرهای عددی قابل اجرا هستند. همچنین در ادامه با اپراتورهایی مثل += آشنا خواهیم شد.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">علامت =</span></div>
<div style="text-align: justify;" class="mycode_align">علامت = به معنای دادن یک مقدار به یک متغیر است! نه متغیر بیشتر می‌شود و نه کمتر و همان چیزی است که در آن‌طرف مساوی بدان داده شده است!</div>
<div style="text-align: justify;" class="mycode_align">مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">جمع دو متغیر</span></div>
برای جمع دو متغیر، کافی است بین آن‌ها علامت + قرار دهیم. مثال:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">علامت =+</span></div>
عبارت بالا دقیقا مانند این است که بنویسیم: <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت مقدار سمت چپ به اندازه‌ای که در سمت راست نوشته شده است، افزوده می‌شود. مثلا اگر یک متغیر مثل var X = 10 داشته باشیم، با این کار خواهیم داشت:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در نهایت مقدار X = 15 خواهد بود! یعنی ۱۰ (مقدار اولیه)‌ به علاوه مقداری که بدان اضافه شده است (5).</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تفریق دو متغیر:</span></div>
<div style="text-align: justify;" class="mycode_align">برای کم کردن دو متغیر، کافی است بین آن‌ها علامت - قرار دهیم. مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">علامت =-</span></div>
عبارت بالا دقیقا مانند این است که بنویسیم: <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت باز هم از مقدار اولیه متغیر، مقداری که در سمت راست آن نوشته شده است، کم می‌شود. مثلا اگر یک متغیر مثل var X = 10 داشته باشیم، با این کار خواهیم داشت:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت مقدار ایکس برابر با 8 خواهد بود! یعنی همان مقدار اولیه (10) منهای مقداری که در آن‌طرف مساوی قرار داده‌ایم (2).</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">ضرب دو متغیر</span></div>
<div style="text-align: justify;" class="mycode_align">برای ضرب کردن دو متغیر, کافی است بین آن‌ها علامت * قرار دهیم. مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">علامت =* </span></div>
عبارت بالا دقیقا مانند این است که بنویسیم: <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت باز هم مقدار اولیه متغیر سرجایش باقی است!‌ فقط به اندازه‌ای که در سمت راست می‌نویسیم، در مقدار قبلی ضرب می‌شود. مثلا اگر یک متغیر مثل var X = 10 داشته باشیم، با این کار خواهیم داشت:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مقدار نهایی آن برابر خواهد بود با ۵۰ .</div>
<br />
<span style="font-weight: bold;" class="mycode_b">تقسیم دو متغیر: </span><br />
<div style="text-align: justify;" class="mycode_align">برای تقسیم کردن دو متغیر, کافی است بین آن‌ها علامت / قرار دهیم. مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">علامت =/</span></div>
عبارت بالا دقیقا مانند این است که بنویسیم: <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت باز هم مقدار اولیه متغیر سرجایش باقی است!‌ فقط به اندازه‌ای که می‌گوییم، بر مقدار قبلی آن تقسیم می‌شود. مثلا اگر یک متغیر مثل var X = 10 داشته باشیم، با این کار خواهیم داشت:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مقدار نهایی آن برابر خواهد بود با 2.</div>
<br />
<span style="font-weight: bold;" class="mycode_b">محاسبه باقی‌مانده تقسیم بین دو متغیر: </span><br />
برای محاسبه باقیمانده تقسیم بین دو متغیر کافی است بین آن‌ها علامت ٪ قرار دهیم. مثال:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">علامت %=</span></div>
این عبارت دقیقا مانند این است که بنویسیم:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت باز هم مقدار اولیه متغیر سرجایش باقی است!‌ فقط به اندازه‌ای که می‌گوییم، بر مقدار قبلی آن تقسیم می‌شود و باقیمانده این تقسیم نوشته می‌شود. مثلا اگر یک متغیر مثل var X = 10 داشته باشیم، با این کار خواهیم داشت:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">متدهای قابل استفاده برای اعداد:</span></div>
<div style="text-align: justify;" class="mycode_align">هر نوع داده‌ در جاوا اسکریپت (استرینگ‌ها، اعداد و ...) ابزارها و امکانات مخصوص خودش را دارد. به این ابزارها و قابلیت‌های مخصوص متد می‌گویند. متدها در واقع به شما کمک می‌کنند تغییرات و اتفاقات پیش‌فرضی را که در زبان جاوا اسکریپت روی متغیرها اعمال شده است مورد استفاده قرار دهید. در زیر با متدهای قابل استفاده در اعداد بیشتر آشنا خواهیم شد.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">toString()</span></div>
<div style="text-align: justify;" class="mycode_align">این متد در واقع اعداد را به استرینگ تبدیل می‌کند. همانطور که گفتیم، اعداد قابل جمع و تفریق هستند ولی استرینگ‌ها خیر. پس دقت کنید که در حین تبدیل یک عدد به استرینگ، در واقع خاصیت جمع و تفریق آن را از دست خواهید داد.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">toFixed()</span></div>
<div style="text-align: justify;" class="mycode_align">کار این متد رند کردن اعداد است. زمانی که از این متد استفاده می‌کنید می‌توانید بگویید میزان رند کردن عدد به چه صورت باشد و تا چه مقدار رند شود. در واقع عددی که در داخل پرانتز این متد نوشته می‌شود، میزان رند شدن آن را نمایش می‌دهد.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت پرانتز را خالی گذاشته‌ایم پس عدد بدون اعشار رند می‌شود و عدد ما یک عدد صحیح خواهد شد.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت عدد ما تا شش رقم رند می‌شود.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت نیز عدد ما تا یک رقم ممیز اعشار یعنی ۱۷۷.۱ رند شده است.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تبدیل متغیرهای دیگر به عدد:</span></div>
<div style="text-align: justify;" class="mycode_align">خصوصا در هنگام محاسبه کردن‌، نیاز داریم که متعیرهای ما از جنس عدد باشند نه استرینگ! اینجا است که متدهایی وسط می‌آیند که کارشان تبدیل متغیرهای دیگر به متغیرهای عددی است. برای تبدیل یک متغیر از جنس استرینگ به یک متغیر عددی می‌توانیم از متد parseInt() استفاده کنیم. هر چه درون پرانتز این متد بنویسیم به عدد تبدیل خواهد شد. مثال‌های زیر گویای این موضوع هستند. در این مثال‌ها ابتدا یک متغیر با نام x تعریف کرده‌ایم. </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا می‌خواهیم این متغیر را با متغیر دیگری به نام y جمع کنیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا متغیر z حاصل جمع این دو عبارت را نمایش می‌دهد.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانطور که می‌بینید حاصل جمع این دو عبارت به جای عدد ۳ عبارت ۱۲ می‌شود. چرا؟ چون یک طرف این جمع استرینگ و متن است و یک طرف عدد و یک عدد و یک استرینگ با هم جمع نمی‌شوند. بلکه در کنار هم قرار می‌گیرند و حاصل آن‌ها به جای جمع شدن، به هم چسبیدن است. راه حل این مشکل تبدیل عبارت y به یک عدد است! اینجا است که متد parseInt()  به کمک شما می‌آيد. برای این کار کافی است عبارت را مطابق مثال بنویسید.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">ولی یک نکته مهم در این قسمت وجود دارد که در کل نوشتن جاوا اسکریپت باید آن را فرا بگیرید. در واقع درست است که ما متغیر y را تغییر داده‌ایم ولی باید مقدار جدیدش را در جایی ذخیره کنیم! چه جایی بهتر از خود y! پس به جای عبارت بالا اینگونه می‌نویسیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">بدین ترتیب مقدار جدید y (‌که همان عددی شدن آن است) مجددا در y ذخیره می‌شود.</div>
<br />
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">متد Number()</span></div>
<div style="text-align: justify;" class="mycode_align">این متد همانند متد parseInt() است با این تفاوت که شما هر چیزی را از این طریق می‌توانید به عدد تبدیل کنید! هر چیزی حتی تاریخ!‌ به مثال‌های زیر می‌کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تمرین:</span></div>
<div style="text-align: justify;" class="mycode_align">حالا که با متغیرهای عددی آشنا شده‌اید وقت آن رسیده است تا حسابی خود را درگیر این متغیرها کنید! چون هنوز مباحث بسیار زیادی از جاوا اسکریپت ناگفته مانده است، انتظار ساختن یک ماشین حساب (به‌عنوان معمول‌ترین تمرین دوره جاوا اسکریپت) از شما نداریم؛ ولی انتظار داریم توانایی نوشتن یک برنامه ساده‌تر را داشته باشید! برنامه‌ای که از آن صحبت می‌کنیم به صورت زیر است:</div>
<br />
<div style="text-align: justify;" class="mycode_align">یک برنامه بنویسید که بتواند درصد تخفیف اعمال‌شده روی محصولات یک فروشگاه و قیمت نهایی را محاسبه کند. از آنجا که هنوز نحوه‌ی دریافت متغیرها از طریق فرم در اچ‌تی‌ام‌ال را یاد نگرفته‌ایم ،می‌توانید درصد تخفیف را به‌صورت پیش‌فرض در یک متغیر مثل (var off = 10) ذخیره کنید.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">پاسخ تمرین:</span></div>
<div style="text-align: justify;" class="mycode_align">در صورتی که خودتان کمی فسفر سوزانده‌اید و می‌خواهید جواب آخر را چک کنید، تصمیم داریم نحوه نوشتن این برنامه بسیار ساده را به شما بگوییم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">مرحله اول:</span> تمامی متغیرهای لازم برای برنامه را در شروع آن تعریف می‌کنیم. مطمئنا یکی از متغیرهای اصلی ما در این بخش، درصد تخفیف است. پس یک متغیر به نام var off = 10 تعریف می‌کنیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا وقت آن رسیده است که قیمت‌ها را محاسبه کنیم. همانطور که گفتیم، ما هنوز نحوه استفاده از فرم‌ها و دریافت داده‌ها از کاربر از این طریق را یاد نگرفته‌ایم. پس نزدیک‌ترین راه‌حل پیش روی ما، استفاده از یک متغیر دیگر به نام price است. این متغیر بعدها باید به‌صورت داینامیک و بر اساس مبلغ واردشده توسط کاربر در فرم ایجاد شود؛ ولی فعلا به یک متغیر ثابت که توسط خودمان تغییر می‌کند رضایت می‌دهیم.</div>
<div style="text-align: justify;" class="mycode_align">مثلا برای یک محصول دو هزار تومانی یک متغیر عددی تعریف می‌کنیم و مقدار قیمت دلخواه بدان می‌دهیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا برای محاسبه درصد تخفیف، کافی‌ است متغیر off را بر ۱۰۰ تقسیم کنیم تا به‌صورت درصد در بیاید. سپس مقدار نهایی این متغیر را در مقدار قیمت محصول ضرب کنیم. به همین سادگی!</div>
<div style="text-align: justify;" class="mycode_align">برای تقسیم off بر ۱۰۰ دو راه پیش رو داریم! </div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">راه حل اول: استفاده از همان متغیر قبلی</span></div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">دقت کنید که چون متغیر off یک‌ بار تعریف شده است، نیازی به تعریف مجدد آن نیست و کافی است در زمانی که بدان نیاز داریم نام آن را بنویسیم و مقدار جدیدی بدان اختصاص دهیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">راه حل دوم: استفاده از متغیر جدید</span></div>
<div style="text-align: justify;" class="mycode_align">یک راه دیگر این است که متغیر اول را دست نزنیم و یک متغیر جدید بسازیم. تصمیم‌گیری برای ایجاد یک متغیر جدید کاملا بسته به برنامه شما و تحلیل شما از منطق برنامه دارد. اگر مقدار این متغیر باید همه جا ثابت باشد و جای دیگری مورد استفاده قرار بگیرد، پس نباید با روش اول آن را تغییر دهید؛ ولی در غیر این صورت می‌توانید هر زمان خواستید مقدار آن را عوض کنید.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در آخرین مرحله بعد از تعریف متغیرهای مربوط به تخفیف، کافی است مقدار قیمت را در مقدار تخفیف ضرب کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">کلام آخر:</span></div>
<div style="text-align: justify;" class="mycode_align">از متغیرهای عددی در کارهای بسیاری می‌توان بهره برد. از محاسبات ریاضی ساده در بخش‌های محاسباتی گرفته تا محاسبات پیچیده در برنامه‌های پیچیده‌تر... ما در دوره فعلی تمرکز خود را روی ساده‌ترین متدها و امکانات متغیرهای عددی قرار داده‌ایم؛ ولی در صورت علاقه می‌توانید نکات پیشرفته‌تر و کامل‌تر از این موضوع را در وب‌سایت w3schools مطالعه کنید.</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">گاهی می‌خواهیم به‌صورت مساوی یک مقدار را به یک متغیر اضافه کنیم. مثلا می‌خواهیم ۵ تا به یک متغیر اضافه یا کم کنیم! برای آشنایی با نحوه‌ی انجام ریاضیات ساده روی متغیرها در جاوا اسکریپت با ما همراه شوید.</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این جلسه قصد داریم با نحوه‌ی جمع و تفریق و ضرب و تقسیم متغیرها آشنا شویم. این اعمال تنها روی متغیرهای عددی قابل اجرا هستند. همچنین در ادامه با اپراتورهایی مثل += آشنا خواهیم شد.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">علامت =</span></div>
<div style="text-align: justify;" class="mycode_align">علامت = به معنای دادن یک مقدار به یک متغیر است! نه متغیر بیشتر می‌شود و نه کمتر و همان چیزی است که در آن‌طرف مساوی بدان داده شده است!</div>
<div style="text-align: justify;" class="mycode_align">مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">جمع دو متغیر</span></div>
برای جمع دو متغیر، کافی است بین آن‌ها علامت + قرار دهیم. مثال:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">علامت =+</span></div>
عبارت بالا دقیقا مانند این است که بنویسیم: <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت مقدار سمت چپ به اندازه‌ای که در سمت راست نوشته شده است، افزوده می‌شود. مثلا اگر یک متغیر مثل var X = 10 داشته باشیم، با این کار خواهیم داشت:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در نهایت مقدار X = 15 خواهد بود! یعنی ۱۰ (مقدار اولیه)‌ به علاوه مقداری که بدان اضافه شده است (5).</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تفریق دو متغیر:</span></div>
<div style="text-align: justify;" class="mycode_align">برای کم کردن دو متغیر، کافی است بین آن‌ها علامت - قرار دهیم. مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">علامت =-</span></div>
عبارت بالا دقیقا مانند این است که بنویسیم: <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت باز هم از مقدار اولیه متغیر، مقداری که در سمت راست آن نوشته شده است، کم می‌شود. مثلا اگر یک متغیر مثل var X = 10 داشته باشیم، با این کار خواهیم داشت:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت مقدار ایکس برابر با 8 خواهد بود! یعنی همان مقدار اولیه (10) منهای مقداری که در آن‌طرف مساوی قرار داده‌ایم (2).</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">ضرب دو متغیر</span></div>
<div style="text-align: justify;" class="mycode_align">برای ضرب کردن دو متغیر, کافی است بین آن‌ها علامت * قرار دهیم. مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">علامت =* </span></div>
عبارت بالا دقیقا مانند این است که بنویسیم: <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت باز هم مقدار اولیه متغیر سرجایش باقی است!‌ فقط به اندازه‌ای که در سمت راست می‌نویسیم، در مقدار قبلی ضرب می‌شود. مثلا اگر یک متغیر مثل var X = 10 داشته باشیم، با این کار خواهیم داشت:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مقدار نهایی آن برابر خواهد بود با ۵۰ .</div>
<br />
<span style="font-weight: bold;" class="mycode_b">تقسیم دو متغیر: </span><br />
<div style="text-align: justify;" class="mycode_align">برای تقسیم کردن دو متغیر, کافی است بین آن‌ها علامت / قرار دهیم. مثال:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">علامت =/</span></div>
عبارت بالا دقیقا مانند این است که بنویسیم: <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت باز هم مقدار اولیه متغیر سرجایش باقی است!‌ فقط به اندازه‌ای که می‌گوییم، بر مقدار قبلی آن تقسیم می‌شود. مثلا اگر یک متغیر مثل var X = 10 داشته باشیم، با این کار خواهیم داشت:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">مقدار نهایی آن برابر خواهد بود با 2.</div>
<br />
<span style="font-weight: bold;" class="mycode_b">محاسبه باقی‌مانده تقسیم بین دو متغیر: </span><br />
برای محاسبه باقیمانده تقسیم بین دو متغیر کافی است بین آن‌ها علامت ٪ قرار دهیم. مثال:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">علامت %=</span></div>
این عبارت دقیقا مانند این است که بنویسیم:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت باز هم مقدار اولیه متغیر سرجایش باقی است!‌ فقط به اندازه‌ای که می‌گوییم، بر مقدار قبلی آن تقسیم می‌شود و باقیمانده این تقسیم نوشته می‌شود. مثلا اگر یک متغیر مثل var X = 10 داشته باشیم، با این کار خواهیم داشت:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">متدهای قابل استفاده برای اعداد:</span></div>
<div style="text-align: justify;" class="mycode_align">هر نوع داده‌ در جاوا اسکریپت (استرینگ‌ها، اعداد و ...) ابزارها و امکانات مخصوص خودش را دارد. به این ابزارها و قابلیت‌های مخصوص متد می‌گویند. متدها در واقع به شما کمک می‌کنند تغییرات و اتفاقات پیش‌فرضی را که در زبان جاوا اسکریپت روی متغیرها اعمال شده است مورد استفاده قرار دهید. در زیر با متدهای قابل استفاده در اعداد بیشتر آشنا خواهیم شد.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">toString()</span></div>
<div style="text-align: justify;" class="mycode_align">این متد در واقع اعداد را به استرینگ تبدیل می‌کند. همانطور که گفتیم، اعداد قابل جمع و تفریق هستند ولی استرینگ‌ها خیر. پس دقت کنید که در حین تبدیل یک عدد به استرینگ، در واقع خاصیت جمع و تفریق آن را از دست خواهید داد.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">toFixed()</span></div>
<div style="text-align: justify;" class="mycode_align">کار این متد رند کردن اعداد است. زمانی که از این متد استفاده می‌کنید می‌توانید بگویید میزان رند کردن عدد به چه صورت باشد و تا چه مقدار رند شود. در واقع عددی که در داخل پرانتز این متد نوشته می‌شود، میزان رند شدن آن را نمایش می‌دهد.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت پرانتز را خالی گذاشته‌ایم پس عدد بدون اعشار رند می‌شود و عدد ما یک عدد صحیح خواهد شد.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت عدد ما تا شش رقم رند می‌شود.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در این حالت نیز عدد ما تا یک رقم ممیز اعشار یعنی ۱۷۷.۱ رند شده است.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تبدیل متغیرهای دیگر به عدد:</span></div>
<div style="text-align: justify;" class="mycode_align">خصوصا در هنگام محاسبه کردن‌، نیاز داریم که متعیرهای ما از جنس عدد باشند نه استرینگ! اینجا است که متدهایی وسط می‌آیند که کارشان تبدیل متغیرهای دیگر به متغیرهای عددی است. برای تبدیل یک متغیر از جنس استرینگ به یک متغیر عددی می‌توانیم از متد parseInt() استفاده کنیم. هر چه درون پرانتز این متد بنویسیم به عدد تبدیل خواهد شد. مثال‌های زیر گویای این موضوع هستند. در این مثال‌ها ابتدا یک متغیر با نام x تعریف کرده‌ایم. </div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا می‌خواهیم این متغیر را با متغیر دیگری به نام y جمع کنیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا متغیر z حاصل جمع این دو عبارت را نمایش می‌دهد.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">همانطور که می‌بینید حاصل جمع این دو عبارت به جای عدد ۳ عبارت ۱۲ می‌شود. چرا؟ چون یک طرف این جمع استرینگ و متن است و یک طرف عدد و یک عدد و یک استرینگ با هم جمع نمی‌شوند. بلکه در کنار هم قرار می‌گیرند و حاصل آن‌ها به جای جمع شدن، به هم چسبیدن است. راه حل این مشکل تبدیل عبارت y به یک عدد است! اینجا است که متد parseInt()  به کمک شما می‌آيد. برای این کار کافی است عبارت را مطابق مثال بنویسید.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">ولی یک نکته مهم در این قسمت وجود دارد که در کل نوشتن جاوا اسکریپت باید آن را فرا بگیرید. در واقع درست است که ما متغیر y را تغییر داده‌ایم ولی باید مقدار جدیدش را در جایی ذخیره کنیم! چه جایی بهتر از خود y! پس به جای عبارت بالا اینگونه می‌نویسیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">بدین ترتیب مقدار جدید y (‌که همان عددی شدن آن است) مجددا در y ذخیره می‌شود.</div>
<br />
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">متد Number()</span></div>
<div style="text-align: justify;" class="mycode_align">این متد همانند متد parseInt() است با این تفاوت که شما هر چیزی را از این طریق می‌توانید به عدد تبدیل کنید! هر چیزی حتی تاریخ!‌ به مثال‌های زیر می‌کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">تمرین:</span></div>
<div style="text-align: justify;" class="mycode_align">حالا که با متغیرهای عددی آشنا شده‌اید وقت آن رسیده است تا حسابی خود را درگیر این متغیرها کنید! چون هنوز مباحث بسیار زیادی از جاوا اسکریپت ناگفته مانده است، انتظار ساختن یک ماشین حساب (به‌عنوان معمول‌ترین تمرین دوره جاوا اسکریپت) از شما نداریم؛ ولی انتظار داریم توانایی نوشتن یک برنامه ساده‌تر را داشته باشید! برنامه‌ای که از آن صحبت می‌کنیم به صورت زیر است:</div>
<br />
<div style="text-align: justify;" class="mycode_align">یک برنامه بنویسید که بتواند درصد تخفیف اعمال‌شده روی محصولات یک فروشگاه و قیمت نهایی را محاسبه کند. از آنجا که هنوز نحوه‌ی دریافت متغیرها از طریق فرم در اچ‌تی‌ام‌ال را یاد نگرفته‌ایم ،می‌توانید درصد تخفیف را به‌صورت پیش‌فرض در یک متغیر مثل (var off = 10) ذخیره کنید.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">پاسخ تمرین:</span></div>
<div style="text-align: justify;" class="mycode_align">در صورتی که خودتان کمی فسفر سوزانده‌اید و می‌خواهید جواب آخر را چک کنید، تصمیم داریم نحوه نوشتن این برنامه بسیار ساده را به شما بگوییم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">مرحله اول:</span> تمامی متغیرهای لازم برای برنامه را در شروع آن تعریف می‌کنیم. مطمئنا یکی از متغیرهای اصلی ما در این بخش، درصد تخفیف است. پس یک متغیر به نام var off = 10 تعریف می‌کنیم.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا وقت آن رسیده است که قیمت‌ها را محاسبه کنیم. همانطور که گفتیم، ما هنوز نحوه استفاده از فرم‌ها و دریافت داده‌ها از کاربر از این طریق را یاد نگرفته‌ایم. پس نزدیک‌ترین راه‌حل پیش روی ما، استفاده از یک متغیر دیگر به نام price است. این متغیر بعدها باید به‌صورت داینامیک و بر اساس مبلغ واردشده توسط کاربر در فرم ایجاد شود؛ ولی فعلا به یک متغیر ثابت که توسط خودمان تغییر می‌کند رضایت می‌دهیم.</div>
<div style="text-align: justify;" class="mycode_align">مثلا برای یک محصول دو هزار تومانی یک متغیر عددی تعریف می‌کنیم و مقدار قیمت دلخواه بدان می‌دهیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حالا برای محاسبه درصد تخفیف، کافی‌ است متغیر off را بر ۱۰۰ تقسیم کنیم تا به‌صورت درصد در بیاید. سپس مقدار نهایی این متغیر را در مقدار قیمت محصول ضرب کنیم. به همین سادگی!</div>
<div style="text-align: justify;" class="mycode_align">برای تقسیم off بر ۱۰۰ دو راه پیش رو داریم! </div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">راه حل اول: استفاده از همان متغیر قبلی</span></div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">دقت کنید که چون متغیر off یک‌ بار تعریف شده است، نیازی به تعریف مجدد آن نیست و کافی است در زمانی که بدان نیاز داریم نام آن را بنویسیم و مقدار جدیدی بدان اختصاص دهیم.</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">راه حل دوم: استفاده از متغیر جدید</span></div>
<div style="text-align: justify;" class="mycode_align">یک راه دیگر این است که متغیر اول را دست نزنیم و یک متغیر جدید بسازیم. تصمیم‌گیری برای ایجاد یک متغیر جدید کاملا بسته به برنامه شما و تحلیل شما از منطق برنامه دارد. اگر مقدار این متغیر باید همه جا ثابت باشد و جای دیگری مورد استفاده قرار بگیرد، پس نباید با روش اول آن را تغییر دهید؛ ولی در غیر این صورت می‌توانید هر زمان خواستید مقدار آن را عوض کنید.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">در آخرین مرحله بعد از تعریف متغیرهای مربوط به تخفیف، کافی است مقدار قیمت را در مقدار تخفیف ضرب کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">کلام آخر:</span></div>
<div style="text-align: justify;" class="mycode_align">از متغیرهای عددی در کارهای بسیاری می‌توان بهره برد. از محاسبات ریاضی ساده در بخش‌های محاسباتی گرفته تا محاسبات پیچیده در برنامه‌های پیچیده‌تر... ما در دوره فعلی تمرکز خود را روی ساده‌ترین متدها و امکانات متغیرهای عددی قرار داده‌ایم؛ ولی در صورت علاقه می‌توانید نکات پیشرفته‌تر و کامل‌تر از این موضوع را در وب‌سایت w3schools مطالعه کنید.</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[محبوبیت جاوا اسکریپت در میان برنامه‌‌ نویسان]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=4847</link>
			<pubDate>Fri, 16 Mar 2018 17:05:08 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=2">نگار</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=4847</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">آیا تا به‌حال نگاهی به مرورگر خود کرده‌اید و فکر کرده‌اید که چرا به این شکل است؟ پاسخ سؤال شما بسیار ساده است؛ جاوا اسکریپت.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="http://up.romaak.ir/do.php?img=4654" loading="lazy"  alt="[تصویر:  do.php?img=4654]" class="mycode_img" /></div>
</div>
<div style="text-align: justify;" class="mycode_align">
<br />
اگر با زبان برنامه‌نویسی «<span style="font-weight: bold;" class="mycode_b">جاوا اسکریپت»</span> (<span style="font-weight: bold;" class="mycode_b">JavaScript</span>) آشنایی نداشته باشید، نمی‌توان شما را به طور جدی به عنوان یک توسعه‌دهنده در نظر گرفت. امروزه جاوا اسکریپت به عنوان محبوب‌ترین زبان برنامه‌نویسی تحت وب شناخته می‌شود. وب‌سایت‌هایی که اغلب بازدید می‌کنید، بازی‌هایی که در reg انجام می‌دهید، برنامه‌هایی که به آن‌ها تکیه می‌کنید، همگی بر پایه‌ی جاوا اسکریپت هستند. بنابراین اگر در حال فکر کردن به یادگیری برنامه‌نویسی هستید و قصد دارید تا اولین زبان برنامه‌نویسی را امتحان کنید؛ جاوا اسکریپت همان چیزی است که نیاز دارید یاد بگیرید.</div>
<div style="text-align: justify;" class="mycode_align">اگر به همین سادگی قانع نمی‌شوید در زیر دلایلی را برشمرده‌ایم که احتمالا شما را متقاعد خواهند کرد: <br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۱- جاوا اسکریپت کاملا رایگان است.</span></div>
<div style="text-align: justify;" class="mycode_align">اگر قصد دارید فعالیت خود را با تسلط بر جاوا اسکریپت ASAP آغاز کنید، خبر خوبی برای شما داریم و آن این است که می‌توانید کار خود را از همین الان شروع کنید، چراکه جاوا اسکریپت نیاز به نصب یکسری برنامه‌های غیرضروری ندارد. تنها موردی که برای شروع نیاز دارید یک ویرایشگر کد برنامه قابل اعتماد و یک مرورگر اینترنت است.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۲- تقریبا همه جا یافت می‌شود.</span></div>
<div style="text-align: justify;" class="mycode_align">جاوا اسکریپت در مفهوم معادل دیجیتالی زبان انگلیسی محسوب می‌شود، بدین معنی که همانند زبان انگلیسی بصورت جهانی شناخته‌شده است. همچنین این زبان تاروپود ساختار برنامه‌نویسی را تشکیل می‌دهد. همه جا آن را می‌بینید فقط از وجود آن آگاه نیستید. جاوا اسکریپت در هر پلتفرمی که تصور کنید قرار دارد؛ مرورگرها، برنامه‌های موبایل و کامپیوتر‌های رومیزی، دستگاه‌های اینترنت اشیاء و غیره.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۳- برای تازه‌کاران بسیار عالی است.</span></div>
<div style="text-align: justify;" class="mycode_align">حتی کسانی که هرگز برنامه‌نویسی نکرده‌اند می‌توانند در جاوا اسکریپت ماهر شوند. ساختار آن بسیار ساده و قابل هضم است به طوری که مبتدیان می‌توانند نحوه استفاده از آن را به سرعت فرا گیرند.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۴- به عنوان یک زبان بنیادین عالی به حساب می‌آید.</span></div>
<div style="text-align: justify;" class="mycode_align">اگر تمایل دارید تا با زبان‌های برنامه‌نویسی پیچیده‌تر آشنا شوید؛ بنابراین جاوا اسکریپت یک سکوی پرتاب عالی برای شما به حساب می‌آید. به محض اینکه آن را در سطحی عمیق درک کنید، یادگیری زبان‌های دیگر برای شما بسیار ساده خواهد بود.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۵- سرگرم‌کننده و تعاملی است.</span></div>
<div style="text-align: justify;" class="mycode_align">از آنجایی که از جاوا اسکریپت در توسعه front-end در صفحات وب بهره برده می‌شود، می‌توانید تا آنجا که دوست دارید از رابط‌های گرافیکی مختلف استفاده کنید. می‌توانید با انیمیشن بازی کنید، رابط‌های کاربری زیبا طراحی کنید، بازی بسازید و مواردی از این دست. امکانات این پلتفرم بی‌پایان هستند.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۶- قدرتمند است.</span></div>
<div style="text-align: justify;" class="mycode_align">نقطه اشتراک <span style="font-weight: bold;" class="mycode_b">پی‌پل</span>، <span style="font-weight: bold;" class="mycode_b">نتفلیکس</span>، <span style="font-weight: bold;" class="mycode_b">لینکداین</span> و <span style="font-weight: bold;" class="mycode_b">اوبر</span> در چیست؟ همه آن‌ها بر اساس جاوا اسکریپت هستند – به طور خاص می‌توان به Node.js اشاره کرد. بیشتر وب‌سایت‌ها و برنامه‌های مهم جهان به نوعی از جاوا اسکریپت استفاده می‌کنند.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۷- اشکال‌زدایی آن نسبتا ساده است.</span></div>
<div style="text-align: justify;" class="mycode_align">برخلاف سایر زبان‌ها، جاوا اسکریپت یک حلقه بازبینی سریع دارد. از آنجایی که در مرورگر ساخته می‌شود، می‌توانید کد مورد نظر خود را اجرا کنید و نتایج را بلافاصله دریافت کنید. به این ترتیب، می‌توانید سریع‌تر یادبگیرید و بهتر شوید.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۸- فرصت‌های شغلی زیاد برای حرفه‌ای‌های در جاوا اسکریپت.</span></div>
<div style="text-align: justify;" class="mycode_align">از آنجایی که روز‌به‌روز کسب‌وکار‌های بیشتری به سمت دیجیتال شدن پیش می‌روند، فرصت‌های شغلی زیادی برای افراد متخصص در حوزه جاوا اسکریپت وجود دارد، و به عنوان یک زبان برنامه‌نویسی درحال رشد، علاقه به توسعه‌دهندگان جاوا اسکریپت نیز باید به سرعت رشد کند.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۹- شما را به سمت شغلی پر سود سوق خواهد داد.</span></div>
<div style="text-align: justify;" class="mycode_align">میانگین حقوق و دستمزد برنامه‌نویسان جاوا اسکریپت از ۷۴هزار تا ۱۳۰ هزار دلار در سال است.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۱۰- به سرعت درحال تکامل است.</span></div>
<div style="text-align: justify;" class="mycode_align">اکوسیستم جاوا اسکریپت ثانیه‌به‌ثانیه درحال تکامل است. تحولات مداوم هستند، بدین معنی که همچنان فرصتی بی‌پایان برای رشد این پلتفرم وجود دارد.<br />
</div>
<div style="text-align: justify;" class="mycode_align">از وقت تلف کردن در یادگیری دیگر زبان‌های برنامه‌نوسی دست بردارید و با سرعت به سمت یادگیری جاوا اسکریپت حرکت کنید. می‌توانید از همین امروز کتاب‌های مختلف یادگیری جاوا اسکریپت را از کتابخانه‌های آنلاین و یا کتابفروشی‌های فیزیکی خریداری کنید یا از محتوای آموزشی وب‌سایت‌های فراوانی که در اینترنت وجود دارد استفاه کنید.</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">آیا تا به‌حال نگاهی به مرورگر خود کرده‌اید و فکر کرده‌اید که چرا به این شکل است؟ پاسخ سؤال شما بسیار ساده است؛ جاوا اسکریپت.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="http://up.romaak.ir/do.php?img=4654" loading="lazy"  alt="[تصویر:  do.php?img=4654]" class="mycode_img" /></div>
</div>
<div style="text-align: justify;" class="mycode_align">
<br />
اگر با زبان برنامه‌نویسی «<span style="font-weight: bold;" class="mycode_b">جاوا اسکریپت»</span> (<span style="font-weight: bold;" class="mycode_b">JavaScript</span>) آشنایی نداشته باشید، نمی‌توان شما را به طور جدی به عنوان یک توسعه‌دهنده در نظر گرفت. امروزه جاوا اسکریپت به عنوان محبوب‌ترین زبان برنامه‌نویسی تحت وب شناخته می‌شود. وب‌سایت‌هایی که اغلب بازدید می‌کنید، بازی‌هایی که در reg انجام می‌دهید، برنامه‌هایی که به آن‌ها تکیه می‌کنید، همگی بر پایه‌ی جاوا اسکریپت هستند. بنابراین اگر در حال فکر کردن به یادگیری برنامه‌نویسی هستید و قصد دارید تا اولین زبان برنامه‌نویسی را امتحان کنید؛ جاوا اسکریپت همان چیزی است که نیاز دارید یاد بگیرید.</div>
<div style="text-align: justify;" class="mycode_align">اگر به همین سادگی قانع نمی‌شوید در زیر دلایلی را برشمرده‌ایم که احتمالا شما را متقاعد خواهند کرد: <br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۱- جاوا اسکریپت کاملا رایگان است.</span></div>
<div style="text-align: justify;" class="mycode_align">اگر قصد دارید فعالیت خود را با تسلط بر جاوا اسکریپت ASAP آغاز کنید، خبر خوبی برای شما داریم و آن این است که می‌توانید کار خود را از همین الان شروع کنید، چراکه جاوا اسکریپت نیاز به نصب یکسری برنامه‌های غیرضروری ندارد. تنها موردی که برای شروع نیاز دارید یک ویرایشگر کد برنامه قابل اعتماد و یک مرورگر اینترنت است.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۲- تقریبا همه جا یافت می‌شود.</span></div>
<div style="text-align: justify;" class="mycode_align">جاوا اسکریپت در مفهوم معادل دیجیتالی زبان انگلیسی محسوب می‌شود، بدین معنی که همانند زبان انگلیسی بصورت جهانی شناخته‌شده است. همچنین این زبان تاروپود ساختار برنامه‌نویسی را تشکیل می‌دهد. همه جا آن را می‌بینید فقط از وجود آن آگاه نیستید. جاوا اسکریپت در هر پلتفرمی که تصور کنید قرار دارد؛ مرورگرها، برنامه‌های موبایل و کامپیوتر‌های رومیزی، دستگاه‌های اینترنت اشیاء و غیره.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۳- برای تازه‌کاران بسیار عالی است.</span></div>
<div style="text-align: justify;" class="mycode_align">حتی کسانی که هرگز برنامه‌نویسی نکرده‌اند می‌توانند در جاوا اسکریپت ماهر شوند. ساختار آن بسیار ساده و قابل هضم است به طوری که مبتدیان می‌توانند نحوه استفاده از آن را به سرعت فرا گیرند.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۴- به عنوان یک زبان بنیادین عالی به حساب می‌آید.</span></div>
<div style="text-align: justify;" class="mycode_align">اگر تمایل دارید تا با زبان‌های برنامه‌نویسی پیچیده‌تر آشنا شوید؛ بنابراین جاوا اسکریپت یک سکوی پرتاب عالی برای شما به حساب می‌آید. به محض اینکه آن را در سطحی عمیق درک کنید، یادگیری زبان‌های دیگر برای شما بسیار ساده خواهد بود.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۵- سرگرم‌کننده و تعاملی است.</span></div>
<div style="text-align: justify;" class="mycode_align">از آنجایی که از جاوا اسکریپت در توسعه front-end در صفحات وب بهره برده می‌شود، می‌توانید تا آنجا که دوست دارید از رابط‌های گرافیکی مختلف استفاده کنید. می‌توانید با انیمیشن بازی کنید، رابط‌های کاربری زیبا طراحی کنید، بازی بسازید و مواردی از این دست. امکانات این پلتفرم بی‌پایان هستند.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۶- قدرتمند است.</span></div>
<div style="text-align: justify;" class="mycode_align">نقطه اشتراک <span style="font-weight: bold;" class="mycode_b">پی‌پل</span>، <span style="font-weight: bold;" class="mycode_b">نتفلیکس</span>، <span style="font-weight: bold;" class="mycode_b">لینکداین</span> و <span style="font-weight: bold;" class="mycode_b">اوبر</span> در چیست؟ همه آن‌ها بر اساس جاوا اسکریپت هستند – به طور خاص می‌توان به Node.js اشاره کرد. بیشتر وب‌سایت‌ها و برنامه‌های مهم جهان به نوعی از جاوا اسکریپت استفاده می‌کنند.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۷- اشکال‌زدایی آن نسبتا ساده است.</span></div>
<div style="text-align: justify;" class="mycode_align">برخلاف سایر زبان‌ها، جاوا اسکریپت یک حلقه بازبینی سریع دارد. از آنجایی که در مرورگر ساخته می‌شود، می‌توانید کد مورد نظر خود را اجرا کنید و نتایج را بلافاصله دریافت کنید. به این ترتیب، می‌توانید سریع‌تر یادبگیرید و بهتر شوید.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۸- فرصت‌های شغلی زیاد برای حرفه‌ای‌های در جاوا اسکریپت.</span></div>
<div style="text-align: justify;" class="mycode_align">از آنجایی که روز‌به‌روز کسب‌وکار‌های بیشتری به سمت دیجیتال شدن پیش می‌روند، فرصت‌های شغلی زیادی برای افراد متخصص در حوزه جاوا اسکریپت وجود دارد، و به عنوان یک زبان برنامه‌نویسی درحال رشد، علاقه به توسعه‌دهندگان جاوا اسکریپت نیز باید به سرعت رشد کند.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۹- شما را به سمت شغلی پر سود سوق خواهد داد.</span></div>
<div style="text-align: justify;" class="mycode_align">میانگین حقوق و دستمزد برنامه‌نویسان جاوا اسکریپت از ۷۴هزار تا ۱۳۰ هزار دلار در سال است.<br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">۱۰- به سرعت درحال تکامل است.</span></div>
<div style="text-align: justify;" class="mycode_align">اکوسیستم جاوا اسکریپت ثانیه‌به‌ثانیه درحال تکامل است. تحولات مداوم هستند، بدین معنی که همچنان فرصتی بی‌پایان برای رشد این پلتفرم وجود دارد.<br />
</div>
<div style="text-align: justify;" class="mycode_align">از وقت تلف کردن در یادگیری دیگر زبان‌های برنامه‌نوسی دست بردارید و با سرعت به سمت یادگیری جاوا اسکریپت حرکت کنید. می‌توانید از همین امروز کتاب‌های مختلف یادگیری جاوا اسکریپت را از کتابخانه‌های آنلاین و یا کتابفروشی‌های فیزیکی خریداری کنید یا از محتوای آموزشی وب‌سایت‌های فراوانی که در اینترنت وجود دارد استفاه کنید.</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا اسکریپت - متغیرهای عددی]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=3995</link>
			<pubDate>Sat, 18 Nov 2017 18:49:21 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=34">mesterweb</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=3995</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">
در جلسه گذشته با متغیرهای متنی آشنا شدیم و نحوه ایجاد یک متغیر متنی را فراگرفتیم. در این بخش قصد داریم سراغ متغیرها عددی برویم.<br />
<br />
برای اینکه راحت‌تر و بهتر با متغیرهای عددی آشنا شویم، مسیری را که در جلسه گذشته آغاز کرده‌ایم ادامه می‌دهیم. فرض کنید همچنان ما در حال ساخت پروژه پیتزافروشی هستیم. این بار می‌خواهیم با تعریف یک متغیر عددی، قیمت محصولات را به لیست اضافه کنیم و حتی تخفیف هم برای آن در نظر بگیریم.<br />
برای این کار یک متغیر به نام off تعریف می‌کنیم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
عددهای ریاضی چه اعداد اعشاری چه اعداد صحیح، جزو داده‌های عددی یا اینتجرها هستند. اگر یک عدد بنویسید و آن را بین کوتیشن نگذاشته باشید، این عدد به‌عنوان اینتجر محسوب می‌شود. این نوع متغیرها را اصطلاحا متغیرهای عددی می‌گویند.<br />
مثلا var number = 2 یک متغیر عددی با مقدار ۲ است، ولی var number = "2" یک متغیر استرینگی با مقدار ۲ است؛ چرا که در داخل کوتیشن نوشته شده است.<br />
در متغیرهای عددی به هیچ وجه کوتیشن (سینگل یا دابل) وجود ندارد و فقط و فقط عدد مورد نظر جلوی آن نوشته می‌شود. دقت کنید، اگر عدد بنویسید ولی آن را در کوتیشن قرار دهید، جاوا اسکریپت آن را به‌عنوان استرینگ در نظر می‌گیرد!<br />
<br />
<span style="font-weight: bold;" class="mycode_b">مهمترین نکته متغیرهای عددی، امکان انجام فرمول‌ها و توابع ریاضی روی آن‌ها است.</span><br />
<br />
در مثال زیر ابتدا سه متغیر بدون مقدار تعریف کرده‌ایم. این متغیرها می‌توانند بعدا عدد، استرینگ یا هر چیز دیگری بشوند. در ادامه به هر یک از آن‌ها یک عدد اختصاص داده و آن‌ها را در قالب متغیر z جمع کرده‌ایم. <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
نتیجه‌ چاپ کردن متغیر z در تب کنسول، برابر عدد ۳ خواهد بود!<br />
حالا  دو متغیر X و Y در مثال بالا را به شکل استرینگی تعریف می‌کنیم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
در این حالت دو متغیر استرینگی را با هم جمع‌ کرده‌ایم. پس وقتی خروجی z  را در کنسول مرورگر چاپ کنیم، به‌جای عدد ۳ با استرینگ 12 مواجه خواهیم شد. استرینگی که از چسباندن دو متغیر x و y حاصل شده است.<br />
حالا  فرض کنید قصد داریم از یک فروشگاه زنجیره‌ای بزرگ خرید کنیم! از آنجا که قرار است مقداری کدنویسی کنیم، باید چندین متغیر برای سبد خرید خود مشخص کنیم.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">متغیر اول: سس کچاپ - نوع: استرینگ</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
<span style="font-weight: bold;" class="mycode_b">متغیر دوم: نوشابه - نوع: استرینگ</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
<span style="font-weight: bold;" class="mycode_b">متغیر سوم:‌ جمع مبلغ پولی که باید هزینه کنیم - نوع: عدد</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
حالا می‌خواهیم قیمت نوشابه و قیمت سس کچاپ را در متغیرهای جداگانه ذخیره کنیم.<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
حالا بیاید کمی آزمون و خطا کنیم. در ابتدا بیایید دو متغیر ketchupPrice و  sodaPrice را با هم جمع کنیم. برای این کار می‌توانیم ابتدا یک متغیر جداگانه تعریف می‌کنیم که مقداری ندارد! می‌نویسیم:<br />
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
حالا قیمت سس کچاپ و نوشابه را در این متغیر ذخیره می‌کنیم:<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
برای نمایش این مقدار راه‌حل‌های بسیاری وجود دارد. راحت ترین راه حل، استفاده از console.log<span style="color: #ffffff;" class="mycode_color">ا</span>(totalPrice) برای نمایش  این مقدار در کنسول مرورگر و راه حل دم دستی دیگر، استفاده از alert است. ولی از هیچ یک از این روش‌ها استفاده نمی‌کنیم. فعلا دستوری را استفاده می‌کنیم که شما قبلا یاد نگرفته‌اید ولی بعدا کامل آن را شرح خواهیم داد. فعلا فقط این دستور را در انتهای کد و بعد از متغیر totalPrice بنویسید.<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
حالا صفحه را ریفرش کنید!‌ شاید تعجب کنید! بله! نتیجه اشتباه از آب درآمد. به‌جای اینکه جمع این دو عدد ۱۰۰۰ شود؛ شد،‌ ۵۰۰ ! چرا؟<br />
حالا به یک نکته مهم برخورد کرده‌ایم!‌ این بار هم یک متغیر استرینگی را با یک متغیر عددی جمع کرده‌ایم! در این حالت باز هم متغیر استرینگی به متغیر عددی می‌چسبد. بنابراین دقت کنید که اگر قصد انجام اعمال ریاضی روی متغیرها دارید، همیشه نوع آن‌ها را به‌درستی مشخص کنید تا بعدا به مشکل برخورد نکنید.<br />
برای درست شدن این مشکل دو راه حل وجود دارد:<br />
راه حل ساده‌تر آن است که مقدار متغیر sodaPrice را تغییر دهیم. یعنی کوتیشن اطراف آن را برداریم و بدین ترتیب دوباره یک متغیر عددی خواهیم داشت و همه چیز مثل روز اول کار می‌کند.<br />
راه حل دوم هر چند ضروری نیست ولی یک نکته آموزشی ساده دارد! آن هم این است که شما وقتی یک متغیر تعریف می‌کنید بدین معنا نیست که این متغیر وحی منزل است و جای هیچگونه تغییری در آن نیست! همانطور که گفتیم، مقدار و نوع متغیرها هر زمان که دوست داشته باشیم قابل تغییر است. پس به‌جای تغییر در متغیر اولیه، همان متغیر را با یک مقدار عددی پر می‌کنیم. یعنی یک بار دیگر نام آن را بدون کلمه var می‌نویسیم و مقدار جدید بدان می‌دهیم! بعد از این کار متغیر ما مقدارش به آخرین مقداری که ما برایش تعیین کرده‌ایم تغییر می‌کند.<br />
<br />
کد نهایی ما بعد از این تغییر به شکل زیر درمی‌آید: <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">متغیر سوم:‌ جمع مبلغ پولی که باید هزینه کنیم - نوع: عدد</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
حالا می‌خواهیم قیمت نوشابه و قیمت سس کچاپ را در متغیرهای جداگانه ذخیره کنیم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
بد نیست اینجا یک نکته آموزشی دیگر را نیز مرور کنیم! اگر دقت کرده باشید، ما برای انجام هر کاری ابتدا یک متغیر تعریف کرده‌ایم بعد بدان مقدار داده‌ایم. ولی راه حل بهینه‌تر و درست‌تر و منطقی‌تر آن است که در ابتدای برنامه، متغیرهایی را که نیاز خواهیم پیدا کرد تعریف کنیم و در طول برنامه فقط آن‌ها را صدا بزنیم یا فراخوانی کنیم. برای مثال، برنامه قبل بدین شکل در می‌آید.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
بعد از ده‌ها خط برنامه می توانیم متغیرهای اولیه‌مان را فراخوانی کنیم<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
همچنین مانند این مثال که می‌خواهید همزمان چندین متغیر تغریف کنید، می‌توانید یکبار کلمه var را بنویسید و بین هر یک از متغیرها یک علامت , بگذارید. این عین آن است که برای هر کدام یک بار کلمه var را جدا نوشته باشید.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
امیدواریم که پنجمین جلسه از آموزش جاوا اسکریپت توانسته باشد برای شما لذت‌بخش باشد. در جلسه بعدی باز هم ویژگی‌های بیشتری از متغیرهای عددی را بررسی خواهیم کرد.<br />
</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">
در جلسه گذشته با متغیرهای متنی آشنا شدیم و نحوه ایجاد یک متغیر متنی را فراگرفتیم. در این بخش قصد داریم سراغ متغیرها عددی برویم.<br />
<br />
برای اینکه راحت‌تر و بهتر با متغیرهای عددی آشنا شویم، مسیری را که در جلسه گذشته آغاز کرده‌ایم ادامه می‌دهیم. فرض کنید همچنان ما در حال ساخت پروژه پیتزافروشی هستیم. این بار می‌خواهیم با تعریف یک متغیر عددی، قیمت محصولات را به لیست اضافه کنیم و حتی تخفیف هم برای آن در نظر بگیریم.<br />
برای این کار یک متغیر به نام off تعریف می‌کنیم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
عددهای ریاضی چه اعداد اعشاری چه اعداد صحیح، جزو داده‌های عددی یا اینتجرها هستند. اگر یک عدد بنویسید و آن را بین کوتیشن نگذاشته باشید، این عدد به‌عنوان اینتجر محسوب می‌شود. این نوع متغیرها را اصطلاحا متغیرهای عددی می‌گویند.<br />
مثلا var number = 2 یک متغیر عددی با مقدار ۲ است، ولی var number = "2" یک متغیر استرینگی با مقدار ۲ است؛ چرا که در داخل کوتیشن نوشته شده است.<br />
در متغیرهای عددی به هیچ وجه کوتیشن (سینگل یا دابل) وجود ندارد و فقط و فقط عدد مورد نظر جلوی آن نوشته می‌شود. دقت کنید، اگر عدد بنویسید ولی آن را در کوتیشن قرار دهید، جاوا اسکریپت آن را به‌عنوان استرینگ در نظر می‌گیرد!<br />
<br />
<span style="font-weight: bold;" class="mycode_b">مهمترین نکته متغیرهای عددی، امکان انجام فرمول‌ها و توابع ریاضی روی آن‌ها است.</span><br />
<br />
در مثال زیر ابتدا سه متغیر بدون مقدار تعریف کرده‌ایم. این متغیرها می‌توانند بعدا عدد، استرینگ یا هر چیز دیگری بشوند. در ادامه به هر یک از آن‌ها یک عدد اختصاص داده و آن‌ها را در قالب متغیر z جمع کرده‌ایم. <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
نتیجه‌ چاپ کردن متغیر z در تب کنسول، برابر عدد ۳ خواهد بود!<br />
حالا  دو متغیر X و Y در مثال بالا را به شکل استرینگی تعریف می‌کنیم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
در این حالت دو متغیر استرینگی را با هم جمع‌ کرده‌ایم. پس وقتی خروجی z  را در کنسول مرورگر چاپ کنیم، به‌جای عدد ۳ با استرینگ 12 مواجه خواهیم شد. استرینگی که از چسباندن دو متغیر x و y حاصل شده است.<br />
حالا  فرض کنید قصد داریم از یک فروشگاه زنجیره‌ای بزرگ خرید کنیم! از آنجا که قرار است مقداری کدنویسی کنیم، باید چندین متغیر برای سبد خرید خود مشخص کنیم.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">متغیر اول: سس کچاپ - نوع: استرینگ</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
<span style="font-weight: bold;" class="mycode_b">متغیر دوم: نوشابه - نوع: استرینگ</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
<span style="font-weight: bold;" class="mycode_b">متغیر سوم:‌ جمع مبلغ پولی که باید هزینه کنیم - نوع: عدد</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
حالا می‌خواهیم قیمت نوشابه و قیمت سس کچاپ را در متغیرهای جداگانه ذخیره کنیم.<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
حالا بیاید کمی آزمون و خطا کنیم. در ابتدا بیایید دو متغیر ketchupPrice و  sodaPrice را با هم جمع کنیم. برای این کار می‌توانیم ابتدا یک متغیر جداگانه تعریف می‌کنیم که مقداری ندارد! می‌نویسیم:<br />
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
حالا قیمت سس کچاپ و نوشابه را در این متغیر ذخیره می‌کنیم:<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
برای نمایش این مقدار راه‌حل‌های بسیاری وجود دارد. راحت ترین راه حل، استفاده از console.log<span style="color: #ffffff;" class="mycode_color">ا</span>(totalPrice) برای نمایش  این مقدار در کنسول مرورگر و راه حل دم دستی دیگر، استفاده از alert است. ولی از هیچ یک از این روش‌ها استفاده نمی‌کنیم. فعلا دستوری را استفاده می‌کنیم که شما قبلا یاد نگرفته‌اید ولی بعدا کامل آن را شرح خواهیم داد. فعلا فقط این دستور را در انتهای کد و بعد از متغیر totalPrice بنویسید.<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
حالا صفحه را ریفرش کنید!‌ شاید تعجب کنید! بله! نتیجه اشتباه از آب درآمد. به‌جای اینکه جمع این دو عدد ۱۰۰۰ شود؛ شد،‌ ۵۰۰ ! چرا؟<br />
حالا به یک نکته مهم برخورد کرده‌ایم!‌ این بار هم یک متغیر استرینگی را با یک متغیر عددی جمع کرده‌ایم! در این حالت باز هم متغیر استرینگی به متغیر عددی می‌چسبد. بنابراین دقت کنید که اگر قصد انجام اعمال ریاضی روی متغیرها دارید، همیشه نوع آن‌ها را به‌درستی مشخص کنید تا بعدا به مشکل برخورد نکنید.<br />
برای درست شدن این مشکل دو راه حل وجود دارد:<br />
راه حل ساده‌تر آن است که مقدار متغیر sodaPrice را تغییر دهیم. یعنی کوتیشن اطراف آن را برداریم و بدین ترتیب دوباره یک متغیر عددی خواهیم داشت و همه چیز مثل روز اول کار می‌کند.<br />
راه حل دوم هر چند ضروری نیست ولی یک نکته آموزشی ساده دارد! آن هم این است که شما وقتی یک متغیر تعریف می‌کنید بدین معنا نیست که این متغیر وحی منزل است و جای هیچگونه تغییری در آن نیست! همانطور که گفتیم، مقدار و نوع متغیرها هر زمان که دوست داشته باشیم قابل تغییر است. پس به‌جای تغییر در متغیر اولیه، همان متغیر را با یک مقدار عددی پر می‌کنیم. یعنی یک بار دیگر نام آن را بدون کلمه var می‌نویسیم و مقدار جدید بدان می‌دهیم! بعد از این کار متغیر ما مقدارش به آخرین مقداری که ما برایش تعیین کرده‌ایم تغییر می‌کند.<br />
<br />
کد نهایی ما بعد از این تغییر به شکل زیر درمی‌آید: <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">متغیر سوم:‌ جمع مبلغ پولی که باید هزینه کنیم - نوع: عدد</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
حالا می‌خواهیم قیمت نوشابه و قیمت سس کچاپ را در متغیرهای جداگانه ذخیره کنیم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
بد نیست اینجا یک نکته آموزشی دیگر را نیز مرور کنیم! اگر دقت کرده باشید، ما برای انجام هر کاری ابتدا یک متغیر تعریف کرده‌ایم بعد بدان مقدار داده‌ایم. ولی راه حل بهینه‌تر و درست‌تر و منطقی‌تر آن است که در ابتدای برنامه، متغیرهایی را که نیاز خواهیم پیدا کرد تعریف کنیم و در طول برنامه فقط آن‌ها را صدا بزنیم یا فراخوانی کنیم. برای مثال، برنامه قبل بدین شکل در می‌آید.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
بعد از ده‌ها خط برنامه می توانیم متغیرهای اولیه‌مان را فراخوانی کنیم<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
همچنین مانند این مثال که می‌خواهید همزمان چندین متغیر تغریف کنید، می‌توانید یکبار کلمه var را بنویسید و بین هر یک از متغیرها یک علامت , بگذارید. این عین آن است که برای هر کدام یک بار کلمه var را جدا نوشته باشید.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
امیدواریم که پنجمین جلسه از آموزش جاوا اسکریپت توانسته باشد برای شما لذت‌بخش باشد. در جلسه بعدی باز هم ویژگی‌های بیشتری از متغیرهای عددی را بررسی خواهیم کرد.<br />
</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا اسکریپت - آشنایی با متغیرها]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=3994</link>
			<pubDate>Sat, 18 Nov 2017 18:37:41 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=34">mesterweb</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=3994</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">در چهارمین جلسه از دوره‌ی آموزشی جاوا اسکریپت، قصد داریم در مورد یکی از مفاهیم مهم جاوا اسکریپت یعنی متغیرها صحبت کنیم. <br />
<br />
فرض کنید شما قصد ایجاد یک سیستم حسابداری تحت وب دارید. در این سیستم نیاز دارید هزینه هر فرد را به‌صورت جداگانه حساب کنید. باید بتوانید هزینه‌ها و اطلاعات فرد انتخاب‌شده را تغییر دهید، و در نهایت همه هزینه‌های کاربر را جمع بزنید.<br />
خب چگونه می‌توانیم یک کاربر را انتخاب کنیم، مقدار هزینه‌های آن را تغییر دهیم یا هزینه‌ها را به‌کلی حذف کنیم. باید یک المان قابل تغییر یا ثابت داشته باشیم که هر کجا خواستیم آن را استفاده کنیم و صدا بزنیم. برای انجام این کار با متغیرها روبه‌رو هستیم. متغیرها همانطور که از اسمشان پیدا است، کارشان ذخیره اطلاعات است. <br />
متغیر در جاواسکریپت را مانند یک ظرف آب خالی در نظر بگیرید. ظرفی که می‌تواند بارها و بارها پر و خالی شود. می‌تواند به جای آب در آن نوشیدنی دیگری ریخته شود (جنس آن عوض شود) و هزار و یک اتفاق دیگر!<br />
متغیرها هم دقیقا همینگونه هستند! یک متغیر در شروع می‌تواند خالی باشد! سپس توسط مقادیری که در برنامه بدان اختصاص می‌دهیم پر شود. این مقادیر در طول برنامه عوض می‌شود یا دوباره از متغیر گرفته می‌شود. خوبی یک متغیر این است که با یکبار مقدار دادن به آن‌ و ذخیره یک عدد یا متن یا هر چیز دیگری در آن، می‌توانید بارها و بارها از آن مقدار استفاده کنید. بدون آنکه نیاز به تعریف مجدد این اعداد و ارقام و متن‌ها باشد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">نحوه‌ی تعریف متغیرها در جاوا اسکریپت<br />
</span><br />
متغیر در جاوااسکریپت با کلمه کلیدی var تعریف می‌شود. در واقع هر چیزی که بعد از کلمه var نوشته می‌شود، نام متغیر ما است. در ادامه ما سه متغیر با نام‌های مختلف تعریف می‌کنیم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">قواعد نام‌گذاری متغیرها در جاوا اسکریپت</span><br />
حالا که بحث متغیرها شده است، بد نیست همینجا به نکات نام‌گذاری متغیر در جاوا اسکریپت اشاره کنیم. در جاوا اسکریپت متغیرها نباید با اعداد شروع شوند. نباید حرف اول متغیر بزرگ نوشته شود. بین کلمات متغیر نباید اسپیس، + یا نقطه و حروف دیگر گذاشت. برای جدا کردن نام متغیرهای چندکلمه‌ای تنها می‌توانید از _ استفاده کنید و باقی حروف ممنوع است.<br />
همچنین در نحوه‌ی نوشتن نام متغیرهای چندکلمه‌ای یک قاعده ساده وجود دارد. حرف اول متغیر را کوچک بنویسید، سپس حرف اول کلمه دوم و سوم و الی آخر را به‌صورت بزرگ بنویسید.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">مثال‌های درست:<br />
</span><br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
</div>
<span style="font-weight: bold;" class="mycode_b">مثال‌های اشتباه:</span><br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
حالا خودتان می‌توانید بگویید اشتباه انجام‌شده در تعریف هر کدام از این متغیرها کدام است؟<br />
<span style="font-weight: bold;" class="mycode_b"><br />
تعریف متغیر خالی</span><br />
وقتی که فقط نام متغیر را بنویسیم و هیچ مقداری به آن اختصاص ندهیم، یک متغیر بدون (مقدار) ساخته‌ایم که می‌توانیم بعدا هر طور که خواستیم آن را شکل دهیم! در واقع مقدار این متغیرها Undefined یا تعریف‌نشده است. این گونه متغیرها را مثل یک خمیر گل رس در نظر بگیرید که بعدا به هر شکلی که بخواهیم درخواهد‌ آمد. تمامی مثال‌های بالا متغیرهای بدون مقدار هستند. برای این کار کافی است یکبار آن‌ها را از طریق پنجره آلرت صدا بزنیم.<br />
<br />
در فایل جاوا اسکریپتی که در جلسات پیش ساخته‌اید، دستورات زیر را بنویسید و صفحه را ریفرش کنید.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
خواهید دید که مقدار تمامی این متغیرها خالی است. چون هنوز هیچ مقداری بدا‌ن‌ها داده نشده است.<br />
<span style="font-weight: bold;" class="mycode_b"><br />
متغیر متنی</span><br />
در همان پروژه سیستم حسابداری، فرض کنید، می‌خواهیم یک کاربر جدید ایجاد کنیم و نام خودتان را به آن اختصاص دهیم. به این متغیرها متنی می‌گویند.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">متن یا استرینگ چیست؟</span><br />
داده‌هایی که در بین دو " " یا ' ' قرار می‌گیرند استرینگ یا رشته یا هر چیزی که می‌خواهید بگویید نامیده می‌شوند. استرینگ‌ها مانند متن‌های عادی هستند و می‌توانند هر چیزی باشند. در واقع می‌توانید هر چیزی را در این استرینگ‌ها بنویسید. جاوا اسکریپت هر چیزی که بین این دو علامت باشد ""، به‌عنوان استرینگ در نظر می‌گیرد و از اجرای آن به‌عنوان کد قابل محاسبه، خود‌داری می‌کند. حتی اگر کد یا اسکریپت یا عدد یا تابع ریاضی یا هر چیزی در اینجا نوشته شود، به‌عنوان یک متن ساده در نظر گرفته می‌شود.<br />
<br />
مثال‌‌های دیگر از استرینگ:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
حتی وقتی یک عبارت ریاضی (mathString) را که شامل یک جمع و تفریق ریاضی ساده است بین دو "" قرار می‌دهیم، جاوا اسکریپت آن را نیز به‌عنوان متن ساده در نظر می‌گیرد و بدون محاسبه و با همین شکل فعلی نمایش می‌دهد.<br />
یعنی اگر متغیر mathString را در پنجره کنسول نمایش دهیم با عبارت ۲ +‌۲ +۷ روبه‌رو خواهیم شد. برای امتحان این کار علاوه بر کدهای بالا، دستور زیر را در فایل جاوا اسکریپت بنویسید و صفحه اچ‌تی‌ام‌ال خود را ریفرش کنید:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<span style="font-weight: bold;" class="mycode_b"><br />
اعمال ابتدایی روی استرینگ‌ها:</span><br />
متغیرهای استرینگی قابل جمع کردن و به هم پیوستن هستند. مثلا دو متغیر استرینگی زیر را ببینید:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
در این مثال ما یک متغیر myName داریم. متغیر myName دو رشته را با هم جمع می‌کند. در نهایت حاصل متغیر myName را اگر در صفحه نمایش دهیم، متن زیر نوشته و نمایش داده خواهد شد:<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<span style="font-weight: bold;" class="mycode_b"><br />
نکته</span>: وقتی می‌خواهید دو متغیر را با هم جمع کنید، از علامت + بین آن‌ها استفاده کنید. دقت کنید که علامت + نباید در داخل کوتیشن قرار بگیرد؛ چرا که در این صورت این علامت نیز به‌عنوان جزئی از همان استرینگ محسوب می‌شود و از خوانده شدن آن جلوگیری خواهد شد. این علامت + برای جمع کردن دو متغیر به‌کار می‌رود.<br />
همچنین ما در این مثال یک استرینگ خالی حاوی اسپیس ساخته‌ایم؛ چرا که جاوا اسکریپت اسپیس‌های اضافه در استرینگ‌ها را نادیده می‌گیرد و ما برای جدا کردن دو استرینگ Hamid و Hamidi از یک استرینگ که تنها حاوی اسپیس بود استفاده کردیم. این موضوع را می‌توانید به‌صورت زیر امتحان کنید.<br />
یک متغیر استرینگی بسازید که بین کلمه اول و دوم آن ۵ بار اسپیس زده شده است. اگر این متغیر را در کنسول یا پنجره alert چاپ کنید مشاهده می‌کنید که تنها یک اسپیس از این پنج اسپیس محاسبه شده و باقی آن‌ها نادیده گرفته شده است.<br />
مثال دیگر از جمع متغیرهای استرینگی را در زیر با هم مرور می‌کنیم:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
همانطور که می‌بینید، متغیر allUsers سه متغیر استرینگی را جمع کرده است؛ ولی چون به‌صورت پیش‌فرض فاصله‌ای در نام متغیرها لحاظ نمی‌شود، متغیرها به هم چسبیده چاپ می‌شوند. ولی در متغیر allUsers2 ما متغیرها را با یک فاصله از هم جدا کرده‌ایم و بدین ترتیب خروجی نهایی ما با فاصله چاپ شد. <br />
روش دیگر برای فاصله قرار دادن بین متغیرها استفاده از اسپیس در نام خود متغیر است. یعنی اینکه در ابتدا و انتهای متغیر متنی، یک اسپیس قرار دهیم تا در هنگام جمع کردن به متغیرهای دیگر نچسبد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">ذخیره تگ‌های اچ‌تی‌ام‌ال به‌عنوان متغیرهای متنی </span><br />
جالب است بدانید که می‌توانید از تگ‌های اچ‌تی‌ام‌ال نیز در متغیرهای متنی بهره‌مند شوید! مثلا می‌توانید یک پیغام متنی را با تگ h2 بنویسید و بدین ترتیب اگر آن را در صفحه با دستور document.write() چاپ کنید، به‌صورت یک عنوان بزرگ چاپ خواهد شد.<br />
<br />
مثال زیر را ببینید.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
همانطور که می‌بینید، ما در متد document.wite() که در جلسه گذشته آموختیم، به جای نوشتن یک متن استرینگی به‌عنوان پارامتر یک متغیر تعریف کرده‌ایم و آن متغیر را به‌عنوان پارامترdocument.wite استفاده‌ کرده‌ایم. بدین ترتیب مرورگر موقع خواندن کدها می‌رود و مقدار آن متغیر را جایگزین می‌کند و خروجی نهایی ما همان‌ مقدار متغیر خواهد شد.<br />
<span style="font-weight: bold;" class="mycode_b">تمرین</span>: حالا که کمی با متغیرها آشنا شده‌اید بد نیست خودتان دست به‌کار شوید و چند متغیر متنی بنویسید و آن‌ها را با هم جمع کنید.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">از متغیرهای متنی در چه مواردی می‌توانیم استفاده کنیم؟</span><br />
از متغیرهای استرینگی در موارد بسیاری می‌توان استفاده کرد. ساده‌ترین استفاده از این متغیرها زمانی است که می‌خواهیم یک پیغام ساده را به کاربر نمایش دهیم. مثلا فرض کنید می‌خواهید بعد از زدن یک دکمه، پیغامی را به کاربر نمایش دهید. می‌توانید این پیغام را در درون یک متغیر متنی ذخیره کنید و هر وقت لازم داشتید از آن استفاده کنید. مثلا ممکن است در صد جای برنامه‌تان، بخواهید به کاربر یک اخطار ثابت نمایش دهید. در این حالت به جای اینکه صدها بار یک پیغام متنی را در جای جای کد تعریف کنید، یک بار یک پیغام ثابت تعریف کرده و هر گاه لازم شد از آن استفاده کنید.<br />
<span style="font-weight: bold;" class="mycode_b"><br />
استفاده عملی از متغیرهای استرینگی</span><br />
حالا وقت آن رسیده است تا یک پروژه عملی‌تر را برای آشنایی با استرینگ‌ها آغاز کنیم. ما در جاوا اسکریپت مجموعه‌ای کلی به اسم window داریم. این مجموعه به مرورگر و تمامی تغییرات (متدها)‌ و اطلاعاتی که در آن ذخیره شده است اشاره دارد. یکی از متدها و امکاناتی که مجموعه window در اختیارمان قرار می‌دهد، دستور propmt است. این دستور در واقع برای دریافت اطلاعات فوری از کاربر است. ظاهر و رفتار این پنجره همانند پنجره alert است و از نظر تجربه کاربری، تجربه‌ی چندان دلپذیری نیست و به جز در موارد معدود نباید زیاد بدان تکیه کنید. همچنین هنگام ظاهر شدن پنجره تا زمانی که یوزر آن را نبندد یا اطلاعات را در آن وارد نکند، نمی‌تواند به باقی بخش‌های صفحه دسترسی داشته باشد.<br />
<br />
چهارمین جلسه از آموزش جاوا اسکریپت نیز به پایان رسید. در جلسه بعدی باز هم از متغیرها صحبت خواهیم کرد. متغیرهای عددی و فوایدی که برای محاسبات دارند محوریت اصلی جلسه آینده خواهند بود.<br />
<br />
</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">در چهارمین جلسه از دوره‌ی آموزشی جاوا اسکریپت، قصد داریم در مورد یکی از مفاهیم مهم جاوا اسکریپت یعنی متغیرها صحبت کنیم. <br />
<br />
فرض کنید شما قصد ایجاد یک سیستم حسابداری تحت وب دارید. در این سیستم نیاز دارید هزینه هر فرد را به‌صورت جداگانه حساب کنید. باید بتوانید هزینه‌ها و اطلاعات فرد انتخاب‌شده را تغییر دهید، و در نهایت همه هزینه‌های کاربر را جمع بزنید.<br />
خب چگونه می‌توانیم یک کاربر را انتخاب کنیم، مقدار هزینه‌های آن را تغییر دهیم یا هزینه‌ها را به‌کلی حذف کنیم. باید یک المان قابل تغییر یا ثابت داشته باشیم که هر کجا خواستیم آن را استفاده کنیم و صدا بزنیم. برای انجام این کار با متغیرها روبه‌رو هستیم. متغیرها همانطور که از اسمشان پیدا است، کارشان ذخیره اطلاعات است. <br />
متغیر در جاواسکریپت را مانند یک ظرف آب خالی در نظر بگیرید. ظرفی که می‌تواند بارها و بارها پر و خالی شود. می‌تواند به جای آب در آن نوشیدنی دیگری ریخته شود (جنس آن عوض شود) و هزار و یک اتفاق دیگر!<br />
متغیرها هم دقیقا همینگونه هستند! یک متغیر در شروع می‌تواند خالی باشد! سپس توسط مقادیری که در برنامه بدان اختصاص می‌دهیم پر شود. این مقادیر در طول برنامه عوض می‌شود یا دوباره از متغیر گرفته می‌شود. خوبی یک متغیر این است که با یکبار مقدار دادن به آن‌ و ذخیره یک عدد یا متن یا هر چیز دیگری در آن، می‌توانید بارها و بارها از آن مقدار استفاده کنید. بدون آنکه نیاز به تعریف مجدد این اعداد و ارقام و متن‌ها باشد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">نحوه‌ی تعریف متغیرها در جاوا اسکریپت<br />
</span><br />
متغیر در جاوااسکریپت با کلمه کلیدی var تعریف می‌شود. در واقع هر چیزی که بعد از کلمه var نوشته می‌شود، نام متغیر ما است. در ادامه ما سه متغیر با نام‌های مختلف تعریف می‌کنیم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">قواعد نام‌گذاری متغیرها در جاوا اسکریپت</span><br />
حالا که بحث متغیرها شده است، بد نیست همینجا به نکات نام‌گذاری متغیر در جاوا اسکریپت اشاره کنیم. در جاوا اسکریپت متغیرها نباید با اعداد شروع شوند. نباید حرف اول متغیر بزرگ نوشته شود. بین کلمات متغیر نباید اسپیس، + یا نقطه و حروف دیگر گذاشت. برای جدا کردن نام متغیرهای چندکلمه‌ای تنها می‌توانید از _ استفاده کنید و باقی حروف ممنوع است.<br />
همچنین در نحوه‌ی نوشتن نام متغیرهای چندکلمه‌ای یک قاعده ساده وجود دارد. حرف اول متغیر را کوچک بنویسید، سپس حرف اول کلمه دوم و سوم و الی آخر را به‌صورت بزرگ بنویسید.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">مثال‌های درست:<br />
</span><br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
</div>
<span style="font-weight: bold;" class="mycode_b">مثال‌های اشتباه:</span><br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
حالا خودتان می‌توانید بگویید اشتباه انجام‌شده در تعریف هر کدام از این متغیرها کدام است؟<br />
<span style="font-weight: bold;" class="mycode_b"><br />
تعریف متغیر خالی</span><br />
وقتی که فقط نام متغیر را بنویسیم و هیچ مقداری به آن اختصاص ندهیم، یک متغیر بدون (مقدار) ساخته‌ایم که می‌توانیم بعدا هر طور که خواستیم آن را شکل دهیم! در واقع مقدار این متغیرها Undefined یا تعریف‌نشده است. این گونه متغیرها را مثل یک خمیر گل رس در نظر بگیرید که بعدا به هر شکلی که بخواهیم درخواهد‌ آمد. تمامی مثال‌های بالا متغیرهای بدون مقدار هستند. برای این کار کافی است یکبار آن‌ها را از طریق پنجره آلرت صدا بزنیم.<br />
<br />
در فایل جاوا اسکریپتی که در جلسات پیش ساخته‌اید، دستورات زیر را بنویسید و صفحه را ریفرش کنید.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
خواهید دید که مقدار تمامی این متغیرها خالی است. چون هنوز هیچ مقداری بدا‌ن‌ها داده نشده است.<br />
<span style="font-weight: bold;" class="mycode_b"><br />
متغیر متنی</span><br />
در همان پروژه سیستم حسابداری، فرض کنید، می‌خواهیم یک کاربر جدید ایجاد کنیم و نام خودتان را به آن اختصاص دهیم. به این متغیرها متنی می‌گویند.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">متن یا استرینگ چیست؟</span><br />
داده‌هایی که در بین دو " " یا ' ' قرار می‌گیرند استرینگ یا رشته یا هر چیزی که می‌خواهید بگویید نامیده می‌شوند. استرینگ‌ها مانند متن‌های عادی هستند و می‌توانند هر چیزی باشند. در واقع می‌توانید هر چیزی را در این استرینگ‌ها بنویسید. جاوا اسکریپت هر چیزی که بین این دو علامت باشد ""، به‌عنوان استرینگ در نظر می‌گیرد و از اجرای آن به‌عنوان کد قابل محاسبه، خود‌داری می‌کند. حتی اگر کد یا اسکریپت یا عدد یا تابع ریاضی یا هر چیزی در اینجا نوشته شود، به‌عنوان یک متن ساده در نظر گرفته می‌شود.<br />
<br />
مثال‌‌های دیگر از استرینگ:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
حتی وقتی یک عبارت ریاضی (mathString) را که شامل یک جمع و تفریق ریاضی ساده است بین دو "" قرار می‌دهیم، جاوا اسکریپت آن را نیز به‌عنوان متن ساده در نظر می‌گیرد و بدون محاسبه و با همین شکل فعلی نمایش می‌دهد.<br />
یعنی اگر متغیر mathString را در پنجره کنسول نمایش دهیم با عبارت ۲ +‌۲ +۷ روبه‌رو خواهیم شد. برای امتحان این کار علاوه بر کدهای بالا، دستور زیر را در فایل جاوا اسکریپت بنویسید و صفحه اچ‌تی‌ام‌ال خود را ریفرش کنید:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<span style="font-weight: bold;" class="mycode_b"><br />
اعمال ابتدایی روی استرینگ‌ها:</span><br />
متغیرهای استرینگی قابل جمع کردن و به هم پیوستن هستند. مثلا دو متغیر استرینگی زیر را ببینید:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
در این مثال ما یک متغیر myName داریم. متغیر myName دو رشته را با هم جمع می‌کند. در نهایت حاصل متغیر myName را اگر در صفحه نمایش دهیم، متن زیر نوشته و نمایش داده خواهد شد:<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<span style="font-weight: bold;" class="mycode_b"><br />
نکته</span>: وقتی می‌خواهید دو متغیر را با هم جمع کنید، از علامت + بین آن‌ها استفاده کنید. دقت کنید که علامت + نباید در داخل کوتیشن قرار بگیرد؛ چرا که در این صورت این علامت نیز به‌عنوان جزئی از همان استرینگ محسوب می‌شود و از خوانده شدن آن جلوگیری خواهد شد. این علامت + برای جمع کردن دو متغیر به‌کار می‌رود.<br />
همچنین ما در این مثال یک استرینگ خالی حاوی اسپیس ساخته‌ایم؛ چرا که جاوا اسکریپت اسپیس‌های اضافه در استرینگ‌ها را نادیده می‌گیرد و ما برای جدا کردن دو استرینگ Hamid و Hamidi از یک استرینگ که تنها حاوی اسپیس بود استفاده کردیم. این موضوع را می‌توانید به‌صورت زیر امتحان کنید.<br />
یک متغیر استرینگی بسازید که بین کلمه اول و دوم آن ۵ بار اسپیس زده شده است. اگر این متغیر را در کنسول یا پنجره alert چاپ کنید مشاهده می‌کنید که تنها یک اسپیس از این پنج اسپیس محاسبه شده و باقی آن‌ها نادیده گرفته شده است.<br />
مثال دیگر از جمع متغیرهای استرینگی را در زیر با هم مرور می‌کنیم:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
همانطور که می‌بینید، متغیر allUsers سه متغیر استرینگی را جمع کرده است؛ ولی چون به‌صورت پیش‌فرض فاصله‌ای در نام متغیرها لحاظ نمی‌شود، متغیرها به هم چسبیده چاپ می‌شوند. ولی در متغیر allUsers2 ما متغیرها را با یک فاصله از هم جدا کرده‌ایم و بدین ترتیب خروجی نهایی ما با فاصله چاپ شد. <br />
روش دیگر برای فاصله قرار دادن بین متغیرها استفاده از اسپیس در نام خود متغیر است. یعنی اینکه در ابتدا و انتهای متغیر متنی، یک اسپیس قرار دهیم تا در هنگام جمع کردن به متغیرهای دیگر نچسبد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">ذخیره تگ‌های اچ‌تی‌ام‌ال به‌عنوان متغیرهای متنی </span><br />
جالب است بدانید که می‌توانید از تگ‌های اچ‌تی‌ام‌ال نیز در متغیرهای متنی بهره‌مند شوید! مثلا می‌توانید یک پیغام متنی را با تگ h2 بنویسید و بدین ترتیب اگر آن را در صفحه با دستور document.write() چاپ کنید، به‌صورت یک عنوان بزرگ چاپ خواهد شد.<br />
<br />
مثال زیر را ببینید.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
همانطور که می‌بینید، ما در متد document.wite() که در جلسه گذشته آموختیم، به جای نوشتن یک متن استرینگی به‌عنوان پارامتر یک متغیر تعریف کرده‌ایم و آن متغیر را به‌عنوان پارامترdocument.wite استفاده‌ کرده‌ایم. بدین ترتیب مرورگر موقع خواندن کدها می‌رود و مقدار آن متغیر را جایگزین می‌کند و خروجی نهایی ما همان‌ مقدار متغیر خواهد شد.<br />
<span style="font-weight: bold;" class="mycode_b">تمرین</span>: حالا که کمی با متغیرها آشنا شده‌اید بد نیست خودتان دست به‌کار شوید و چند متغیر متنی بنویسید و آن‌ها را با هم جمع کنید.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">از متغیرهای متنی در چه مواردی می‌توانیم استفاده کنیم؟</span><br />
از متغیرهای استرینگی در موارد بسیاری می‌توان استفاده کرد. ساده‌ترین استفاده از این متغیرها زمانی است که می‌خواهیم یک پیغام ساده را به کاربر نمایش دهیم. مثلا فرض کنید می‌خواهید بعد از زدن یک دکمه، پیغامی را به کاربر نمایش دهید. می‌توانید این پیغام را در درون یک متغیر متنی ذخیره کنید و هر وقت لازم داشتید از آن استفاده کنید. مثلا ممکن است در صد جای برنامه‌تان، بخواهید به کاربر یک اخطار ثابت نمایش دهید. در این حالت به جای اینکه صدها بار یک پیغام متنی را در جای جای کد تعریف کنید، یک بار یک پیغام ثابت تعریف کرده و هر گاه لازم شد از آن استفاده کنید.<br />
<span style="font-weight: bold;" class="mycode_b"><br />
استفاده عملی از متغیرهای استرینگی</span><br />
حالا وقت آن رسیده است تا یک پروژه عملی‌تر را برای آشنایی با استرینگ‌ها آغاز کنیم. ما در جاوا اسکریپت مجموعه‌ای کلی به اسم window داریم. این مجموعه به مرورگر و تمامی تغییرات (متدها)‌ و اطلاعاتی که در آن ذخیره شده است اشاره دارد. یکی از متدها و امکاناتی که مجموعه window در اختیارمان قرار می‌دهد، دستور propmt است. این دستور در واقع برای دریافت اطلاعات فوری از کاربر است. ظاهر و رفتار این پنجره همانند پنجره alert است و از نظر تجربه کاربری، تجربه‌ی چندان دلپذیری نیست و به جز در موارد معدود نباید زیاد بدان تکیه کنید. همچنین هنگام ظاهر شدن پنجره تا زمانی که یوزر آن را نبندد یا اطلاعات را در آن وارد نکند، نمی‌تواند به باقی بخش‌های صفحه دسترسی داشته باشد.<br />
<br />
چهارمین جلسه از آموزش جاوا اسکریپت نیز به پایان رسید. در جلسه بعدی باز هم از متغیرها صحبت خواهیم کرد. متغیرهای عددی و فوایدی که برای محاسبات دارند محوریت اصلی جلسه آینده خواهند بود.<br />
<br />
</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا اسکریپت - آشنایی با کنسول مرورگر و تب توسعه دهندگان و نح]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=3993</link>
			<pubDate>Sat, 18 Nov 2017 18:02:07 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=34">mesterweb</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=3993</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">در سومین جلسه از دوره آموزشی جاوا اسکریپت، به سراغ بنیادی‌ترین ابزارهایی که برای شروع جاوا اسکریپت بدان نیاز دارید خواهیم رفت.<br />
<br />
برای دیباگ کردن و فهمیدن اینکه کجای کدهایمان ایراد دارد، به ابزارهایی نیاز داریم که به ما بگوید کجای کد ما اشتباه بوده است؛ این ابزار خوشبختانه به‌صورت پیش‌فرض در مرورگرهای امروزی وجود دارد. در واقع همه مرورگرها به‌صورت پیش‌فرض سیستم‌هایی برای توسعه وب‌سایت‌ دارند. این ابزارها که در حالت از دید کاربران مخفی هستند، Developer Tools نام دارند. برای نمایش ابزار مخصوص توسعه‌دهندگان در مرورگر کروم مراحل زیر را طی کنید:<br />
<span style="font-weight: bold;" class="mycode_b"><br />
نمایش ابزار توسعه‌دهندگان در مرورگر کروم</span><br />
<ul class="mycode_list"><li>روی صفحه در مرورگر راست کلیک کنید و گزینه Inspect را انتخاب کنید. (همچنین می‌توانید از شورت‌کات f12 در ویندوز استفاده کنید).<br />
</li>
</ul>
نمایش ابزار توسعه‌دهندگان در مرورگر فایرفاکس<ul class="mycode_list"><li>روی صفحه در مرورگر راست کلیک کنید و گزینه Inspect را انتخاب کنید. (همچنین می‌توانید از شورت‌کات f12 در ویندوز استفاده کنید).<br />
</li>
<li>پنجره بازشده همانند ابزار توسعه‌دهندگان کروم است و همانطور که در تصویر می‌بینید، تفاوت چندانی با آن ندارد.<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b"><br />
آشنایی با بخش Elements</span><br />
این بخش از Developer Tools کدهای اچ‌تی‌ام‌ال و سی‌اس‌اس نهایی را نمایش می‌دهد. شما می‌توانید از طریق این بخش تمامی تگ‌های اچ‌تی‌ام‌ال صفحه را مشاهده کنید. همچنین در سمت راست این پنجره، یک بخش مخصوص نمایش CSS-ها وجود دارد که با رفتن روی هر المان، می‌توانید دستورات CSS اعمال‌شده روی آن را در سمت راست صفحه و در بخش سی‌اس‌اس‌ها، مشاهده کنید.<br />
<br />
جالب است بدانید تمامی CSS-ها  و HTML-های صفحه قابل تغییر هستند و شما می‌توانید همانجا در تب Elements، آن‌ها را به دلخواه خود تغییر دهید و تغییرات خود را به‌صورت زنده و لحظه‌ای مشاهده کنید.  البته این تغییرات تنها در مرورگر شما اجرا می‌‌شود و در سایت اصلی به هیچ عنوان تغییری ایجاد نمی‌شود. همچنین با هر بار Refresh و بارگذاری مجدد صفحه، تمام تغییرات شما نیز از بین خواهد رفت و همه چیز به حالت ابتدایی خود برخواهد گشت.<br />
همچنین شما می‌توانید با کلیک روی المنت‌های اچ‌تی‌ام‌ال صفحه در صورت لزوم آن‌ها را تغییر دهید یا کپی یا حذف کنید.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">آشنایی با بخش Console</span><br />
اینجا همانجایی است که ما با‌ آن بسیار سر و کار خواهیم داشت. کنسول مرورگر یکی از پرکاربردترین بخش‌هایی است که در جاوا اسکریپت بدان نیاز خواهید داشت. این کنسول شما را از خطاها و مشکلات کدهای جاوا اسکریپت آگاه می‌کند و اطلاعات دقیق ارورها و خطاهای جاوا اسکریپتی‌ در کد شما را اعلام می‌کند.<br />
همچنین شما می‌توانید پیغام‌های دلخواه را در جاوا اسکریپت بنویسید و این پیغام‌ها را در کنسول مرورگر نمایش دهید (اصطلاحا چاپ کنید). این کار توسط دستور console.log انجام می‌شود. بعدا این دستور را با هم استفاده خواهیم کرد.<br />
همچنین شما می‌توانید در محیط کنسول، به‌صورت ریل تایم کد جاوا اسکریپت بنویسید و این کدها را همان جا اجرا کنید. برای مثال ما می‌توانیم از دستور alert جاوا اسکریپت به‌صورت مستقیم در کنسول استفاده کنیم. برای این کار دستور زیر را در کنسول مرورگر کپی کنید و اینتر بزنید.<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
همانطور که مشاهده می‌کنید، دستور alert در صفحه فعلی اجرا می‌شود.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">آشنایی با بخش Network</span><br />
این تب در واقع نمایش‌دهنده وضعیت تعامل شما با سرورهای سایت است. در واقع تمامی درخواست‌های ارسال‌شده به سرور و وضعیت و پاسخ آن‌ها در این تب قابل مشاهده است. به علت اینکه در این آموزش ما به سرور وصل نخواهیم شد، وارد جزئیات این تب نخواهیم شد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">شبیه‌سازی موبایل</span><br />
یکی دیگر از ابزارهای کاربردی که در بخش توسعه‌دهندگان مرورگر قرار دارد، امکان شبیه‌سازی موبایل‌ برای چک کردن سایت روی آن است. برای این کار، کافی است روی آیکون موبایل کلیک کنید و از آنجا سایزهای مختلف را انتخاب کنید. همچنین می‌توانید از لیست دستگاه‌های موجود پیش‌فرض، یک دستگاه را انتخاب کنید و سایت را در ابعاد صفحه نمایش همان دستگاه ببینید.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">روش‌هایی ساده برای نمایش خروجی کدهای جاوا اسکریپت</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">روش اول - پنجره alert یا پنجره اخطار:</span><br />
پنجره alert یک پنجره ساده است و برای استفاده از آن، کافی است دستور alert() را بنویسید و پیامتان را بین پرانتز وارد کنید. همچنین باید پیام‌های خود را بین دو "" قرار دهید. علت این موضوع به نوع داده‌ها در جاوا اسکریپت بر می‌گردد که در جلسات بعدی مفصلا به آن‌ها خواهیم پرداخت. ولی برای آگاهی اولیه، علت این موضوع به اینجا ختم می‌شود که مقداری که ما در این جلسه در پنجره آلرت قرار است نمایش دهیم یک داده از نوع متنی است و داده‌ها متنی را باید درون علامت "" قرار دهیم تا از متغیرها و اعداد متمایز شوند.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">راه حل دوم - استفاده از کنسول مرورگر:</span><br />
همانطور که گفتیم، کنسول مرورگر محلی است که می‌توانید در حین نوشتن کدهای جاوا اسکریپت داده‌های دلخواه را در آن چاپ کنید. همچنین گفتیم که این کار برای رصد کردن کدها بسیار مناسب است. مثلا فرض کنید در بین خط‌های کد خود می‌خواهید بدانید که در چه وضعیتی قرار دارید. یک مقدار در کنسول چاپ می‌کنید که دقیقا به شما می‌گوید در آن لحظه در چه وضعیتی هستید.<br />
<br />
برای اضافه کردن یک مقدار به کنسول یا پنجره آلرت، روش زیر را دنبال می‌کنیم:<br />
<span style="font-weight: bold;" class="mycode_b">مرحله اول: </span>در ابتدا  یک صفحه اچ‌تی‌ام‌ال ساده و یک فایل جاوا اسکریپت خالی می‌سازیم. <br />
<span style="font-weight: bold;" class="mycode_b">مرحله دوم</span>: درون فایل جاوا  اسکریپت به ترتیب زیر می‌نویسم.<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
<span style="font-weight: bold;" class="mycode_b">مرحله سوم</span>:‌ فایل جاوا اسکریپت را مطابق آموزش جلسه قبل در صفحه بارگذاری می‌کنیم. سپس صفحه اچ‌تی‌ام‌ال خود را ذخیره می‌کنیم .<br />
<span style="font-weight: bold;" class="mycode_b">مرحله چهارم</span>: حالا فایل اچ‌تی‌ام‌ال خود را در مرورگر باز کنید.<br />
همانطور که دیدید، به محض باز شدن صفحه با پیغام "سلام من پنجره alert هستم" که در یک پنجره کوچک باز شده است مواجه خواهیم شد. این پنجره همان پنجره alert است.<br />
همچنین اگر کلیک راست کنید و روی inspect element بزنید و  وارد تب console شوید، مشاهده میکنید که پیغام «سلام من کنسول مرورگر هستم» در بخش کنسول چاپ شده است.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">فایل‌ نهایی</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">فایل HTML</span>:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">فایل app.js</span>:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">کنسول و آلرت کجا مورد استفاده قرار می‌گیرند؟</span><br />
فرض کنید یک فایل جاوا اسکریپت هزار خطی دارید! هر چند توصیه می‌کنیم تا حد امکان نگذارید فایل‌هایتان انقدر زیاد شوند و هر کدام را به بخش‌های کوچک‌تر و فایل‌های بیشتر تقسیم کنید (بدین ترتیب نگهداری و تغییر آن‌ها ساده‌تر می‌شود).<br />
در این فایل هزار خطی اگر زمانی چیزی درست کار نکند، باید ابزاری وجود داشته باشد که به شما در پیدا کردن نقطه کور کد کمک کند! مثلا ممکن است در جایی یک عدد یا متغیر را به اشتباه وارد کرده باشید و این خودش باعث بروز اشتباه در محاسبات شما شود. منظورمان از اشتباه فقط خطاهای سینتکس و قواعدی نیست! آن‌ها در کنسول مرورگر  با ذکر شماره خط و محل دقیق پیدا می‌شوند. منظورمان خطاهای دیگری است که در منطق کد وجود دارد و باعث می‌شود خروجی مورد نظر دست پیدا نکنید. برای پیدا کردن محل چنین خطاها یا اشتباه‌هایی است که با کار بسیار سخت و حتی شاید ناممکنی روبرو هستید و آلرت و کنسول دوای درد شما است! شما به کمک این نمایشگرها می‌توانید در نقطه نقطه کد نشانه‌گذاری کنید و با هر بار اجرا، مقدار متغیرها و تغییرات در کد را در کنسول یا پنجره آلرت مشاهده کنید و متوجه شوید کجای کارتان خطا داشته است. این بزرگ‌ترین موهبتی است که بعدها به شدت از استفاده از آن خوشحال خواهید شد! پس منتظر باشید که در جلسات آینده بیشتر از این ابزارها استفاده کنیم.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">نمایش کدها در المنت‌های HTML</span><br />
هر چند کنسول و آلرت راه‌حل‌های سریع و دم دستی برای نمایش اطلاعات در مرورگر هستند؛ ولی بعید است که کسی پروژه‌اش را بر پایه این دو بنا کند! در واقع پروژه‌ها اصولا برای کاربران نوشته می‌شوند و از این رو باید خروجی مناسب در قالب مناسب داشته باشند. بنابراین راه درست‌تری که در دنیای واقعی  و کدهای واقعی از آن استفاده خواهید کرد، نمایش نتیجه کدهای جاوا اسکریپت در صفحه اچ‌تی‌ام‌ال است! <br />
برای نمایش کدهای جاوا اسکریپت در تگ‌های اچ‌تی‌ام‌ال روش‌های بسیاری وجود دارد که دو مورد از آن‌ها را در جلسه اول مرور می‌کنیم:<br />
<br />
<span style="font-weight: bold;" class="mycode_b">راه اول: استفاده از دستور document.write() </span><br />
ساده‌ترین راه برای نمایش خروجی در اچ‌تی‌ام‌ال دستور write است. فایل اچ‌تی‌ام‌ال زیر را برای خود بسازید و آن را در مرورگر اجرا کنید.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">این دستور چیست و چگونه کار می‌کند؟</span><br />
کلمه اول document همان کل مجموعه اچ‌تی‌ام‌ال صفحه است. در واقع کل یک صفحه اچ‌تی‌ام‌ال در کد جاوا اسکریپت در داخل یک مجموعه‌ به نام document ذخیره می‌شود. این مجموعه و هر مجموعه دیگری را می‌توان به کمک دستوراتی که به آن‌ها متد می‌گوییم، رویشان تغییر ایجاد کرد. مثلا هر صفحه اچ‌تی‌ام‌ال در کد جاوا اسکریپت به‌عنوان یک آبجکت به نام document شناخته می‌شود.<br />
در واقع تمامی المنت‌های اچ‌تی‌ام‌ال در داخل جاوا اسکریپت در یک مجموعه جدا ذخیره می‌شوند. وقتی می‌خواهیم روی هر یک تغییری ایجاد کنیم، آن مجموعه را انتخاب و روی آن تغییر ایجاد می‌کنیم.<br />
حالا به بحث قبل بر می‌گردیم. با متد write می‌توانیم هر چه می‌خواهیم در داخل این مجموعه نمایش دهیم.  کافی است نام متد write را به همراه یک پرانتز که حاوی متن مورد نظر است، بنویسیم و در اینجا چاپ کنیم. همین حالا خودتان هم می‌توانید این کار را انجام دهید و متن‌های متفاوتی را چاپ کنید.<br />
نکته قابل توجه در این بخش همان خط به خط اجرا شدن کدهای جاوا اسکریپت در مرورگر است. اگر هر کجای صفحه دستور  document.write را بنویسید، همانجا دستور شما چاپ خواهد شد. برای مثال اگر سه دستور document.write را در مابین تگ‌های اچ‌تی‌ام‌ال خود بنویسید، این کدها دقیقا در همانجایی که نوشته شده‌اند چاپ خواهند شد.<br />
<span style="font-weight: bold;" class="mycode_b"><br />
کجا می‌توانیم از این دستور استفاده کنیم؟</span><br />
خب حالا که با دستور document.write آشنا شده‌اید بیایید یکی از نکات کاربردی آن را که در دنیای واقعی ممکن است به کارمان بیاید استفاده کنیم! یک مثال ساده وقتی است که ما می‌خواهیم یک سی‌اس‌اس، اچ‌تی‌ام‌ال یا حتی یک فایل جاوا اسکریپت خارجی را بعد از لود شدن صفحه یا تحت شرایط خاصی به صفحه وارد کنیم! در حالت عادی ما ناچاریم تمامی فایل‌های اچ‌تی‌ام‌ال و سی‌اس‌اس را که صفحه برای نمایش صحیحی بدان‌ نیاز دارد، از قبل در آن گنجانده باشیم؛ ولی با کمک جاوا اسکریپت حتی می‌توانیم بعد از اتمام لود صفحه این فایل‌ها را بدان اضافه کنیم.<br />
مثلا همین حالا یک فایل اچ‌تی‌ام‌ال ساده بسازید. سپس فایل سی‌اس‌اس دلخواه خود را بسازید ولی آن را در صفحه قرار ندهید. حالا در داخل فایل اچ‌تی‌ام‌ال و در بین تگ <head/><head>، دستور document.write بنویسید و فایل سی‌اس‌اس را به‌عنوان متن داخل این بخش در صفحه چاپ کنید (همانطور که گفتیم، دستور document.write را می‌توانیم در هر جای صفحه که خواستیم بنویسیم).<br />
مثال بالا به‌صورت زیر می‌شود:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
بعد از اجرای دوباره صفحه مشاهده می‌کنید که فایل سی‌اس‌اس روی صفحه اعمال شده است! یعنی فایل سی‌اس‌اس شما حتی بعد از لود صفحه به صفحه اضافه و اجرا شده است! از این مدل کار چه استفاده‌های خلاقانه‌تری می‌توانیم بکنیم؟ بگذارید چند تا مثال ساده و کاربردی بزنیم:<br />
مثلا می‌توانید با محاسبه ساعت سیستم کاربر (با کمک جاوا اسکریپت) و محاسبه اینکه شب، روز یا بعدازظهر است فایل‌های CSS مناسب آن زمان از روز را لود کنید! مثلا یک فایل CSS برای صبح! یک فایل CSS برای شب و یک فایل CSS برای غروب! <br />
مثلا می‌توانید با گذشت یک مدت زمان مشخص (مثلا دو دقیقه) از حضور کاربر در سایت، ویسی‌اس‌اس بخش‌هایی از سایت را به دلخواه تغییر دهید! شما چه پیشنهاد خلاقانه‌ای برای این بخش به ذهنتان می‌رسد! با ما در میان بگذارید. <br />
حالا که اندکی با ابزارهای اولیه جاوا اسکریپت آشنا شده‌اید، وقت آن رسیده است تا یک پروژه ساده و اولیه را استارت بزنیم! این پروژه قرار است در هر جلسه تکمیل‌ و تکمیل‌تر شود و در نهایت به یک پروژه واقعی ولی کوچک تبدیل شود.<br />
این پروژه قرار است یک سرویس سفارش غذا به‌صورت آنلاین باشد! برای انجام این پروژه تنها می‌توانیم یک کار ساده انجام دهیم و آن‌ هم انتخاب نام آن است! یک نام دلخواه برای این رستوران آنلاین انتخاب کنید و سپس با کمک دستور document.write که در این جلسه یاد گرفته‌ایم آن را در صفحه چاپ کنید.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">سخن پایانی:</span><br />
در سومین جلسه از آموزش جاوا اسکریپت با ابزار توسعه‌دهندگان که یکی از واجب‌ترین ابزارهای هر برنامه‌نویس و طراح وبی است آشنا شدیم. از جلسات آینده به‌طور عمیق‌تری وارد دنیای جاوا اسکریپت خواهیم شد و مفاهیم بیشتری از جمله متغیرها را برای نوشتن کدهای جاوا اسکریپتی با هم مرور خواهیم کرد.<br />
</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">در سومین جلسه از دوره آموزشی جاوا اسکریپت، به سراغ بنیادی‌ترین ابزارهایی که برای شروع جاوا اسکریپت بدان نیاز دارید خواهیم رفت.<br />
<br />
برای دیباگ کردن و فهمیدن اینکه کجای کدهایمان ایراد دارد، به ابزارهایی نیاز داریم که به ما بگوید کجای کد ما اشتباه بوده است؛ این ابزار خوشبختانه به‌صورت پیش‌فرض در مرورگرهای امروزی وجود دارد. در واقع همه مرورگرها به‌صورت پیش‌فرض سیستم‌هایی برای توسعه وب‌سایت‌ دارند. این ابزارها که در حالت از دید کاربران مخفی هستند، Developer Tools نام دارند. برای نمایش ابزار مخصوص توسعه‌دهندگان در مرورگر کروم مراحل زیر را طی کنید:<br />
<span style="font-weight: bold;" class="mycode_b"><br />
نمایش ابزار توسعه‌دهندگان در مرورگر کروم</span><br />
<ul class="mycode_list"><li>روی صفحه در مرورگر راست کلیک کنید و گزینه Inspect را انتخاب کنید. (همچنین می‌توانید از شورت‌کات f12 در ویندوز استفاده کنید).<br />
</li>
</ul>
نمایش ابزار توسعه‌دهندگان در مرورگر فایرفاکس<ul class="mycode_list"><li>روی صفحه در مرورگر راست کلیک کنید و گزینه Inspect را انتخاب کنید. (همچنین می‌توانید از شورت‌کات f12 در ویندوز استفاده کنید).<br />
</li>
<li>پنجره بازشده همانند ابزار توسعه‌دهندگان کروم است و همانطور که در تصویر می‌بینید، تفاوت چندانی با آن ندارد.<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b"><br />
آشنایی با بخش Elements</span><br />
این بخش از Developer Tools کدهای اچ‌تی‌ام‌ال و سی‌اس‌اس نهایی را نمایش می‌دهد. شما می‌توانید از طریق این بخش تمامی تگ‌های اچ‌تی‌ام‌ال صفحه را مشاهده کنید. همچنین در سمت راست این پنجره، یک بخش مخصوص نمایش CSS-ها وجود دارد که با رفتن روی هر المان، می‌توانید دستورات CSS اعمال‌شده روی آن را در سمت راست صفحه و در بخش سی‌اس‌اس‌ها، مشاهده کنید.<br />
<br />
جالب است بدانید تمامی CSS-ها  و HTML-های صفحه قابل تغییر هستند و شما می‌توانید همانجا در تب Elements، آن‌ها را به دلخواه خود تغییر دهید و تغییرات خود را به‌صورت زنده و لحظه‌ای مشاهده کنید.  البته این تغییرات تنها در مرورگر شما اجرا می‌‌شود و در سایت اصلی به هیچ عنوان تغییری ایجاد نمی‌شود. همچنین با هر بار Refresh و بارگذاری مجدد صفحه، تمام تغییرات شما نیز از بین خواهد رفت و همه چیز به حالت ابتدایی خود برخواهد گشت.<br />
همچنین شما می‌توانید با کلیک روی المنت‌های اچ‌تی‌ام‌ال صفحه در صورت لزوم آن‌ها را تغییر دهید یا کپی یا حذف کنید.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">آشنایی با بخش Console</span><br />
اینجا همانجایی است که ما با‌ آن بسیار سر و کار خواهیم داشت. کنسول مرورگر یکی از پرکاربردترین بخش‌هایی است که در جاوا اسکریپت بدان نیاز خواهید داشت. این کنسول شما را از خطاها و مشکلات کدهای جاوا اسکریپت آگاه می‌کند و اطلاعات دقیق ارورها و خطاهای جاوا اسکریپتی‌ در کد شما را اعلام می‌کند.<br />
همچنین شما می‌توانید پیغام‌های دلخواه را در جاوا اسکریپت بنویسید و این پیغام‌ها را در کنسول مرورگر نمایش دهید (اصطلاحا چاپ کنید). این کار توسط دستور console.log انجام می‌شود. بعدا این دستور را با هم استفاده خواهیم کرد.<br />
همچنین شما می‌توانید در محیط کنسول، به‌صورت ریل تایم کد جاوا اسکریپت بنویسید و این کدها را همان جا اجرا کنید. برای مثال ما می‌توانیم از دستور alert جاوا اسکریپت به‌صورت مستقیم در کنسول استفاده کنیم. برای این کار دستور زیر را در کنسول مرورگر کپی کنید و اینتر بزنید.<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
همانطور که مشاهده می‌کنید، دستور alert در صفحه فعلی اجرا می‌شود.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">آشنایی با بخش Network</span><br />
این تب در واقع نمایش‌دهنده وضعیت تعامل شما با سرورهای سایت است. در واقع تمامی درخواست‌های ارسال‌شده به سرور و وضعیت و پاسخ آن‌ها در این تب قابل مشاهده است. به علت اینکه در این آموزش ما به سرور وصل نخواهیم شد، وارد جزئیات این تب نخواهیم شد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">شبیه‌سازی موبایل</span><br />
یکی دیگر از ابزارهای کاربردی که در بخش توسعه‌دهندگان مرورگر قرار دارد، امکان شبیه‌سازی موبایل‌ برای چک کردن سایت روی آن است. برای این کار، کافی است روی آیکون موبایل کلیک کنید و از آنجا سایزهای مختلف را انتخاب کنید. همچنین می‌توانید از لیست دستگاه‌های موجود پیش‌فرض، یک دستگاه را انتخاب کنید و سایت را در ابعاد صفحه نمایش همان دستگاه ببینید.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">روش‌هایی ساده برای نمایش خروجی کدهای جاوا اسکریپت</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">روش اول - پنجره alert یا پنجره اخطار:</span><br />
پنجره alert یک پنجره ساده است و برای استفاده از آن، کافی است دستور alert() را بنویسید و پیامتان را بین پرانتز وارد کنید. همچنین باید پیام‌های خود را بین دو "" قرار دهید. علت این موضوع به نوع داده‌ها در جاوا اسکریپت بر می‌گردد که در جلسات بعدی مفصلا به آن‌ها خواهیم پرداخت. ولی برای آگاهی اولیه، علت این موضوع به اینجا ختم می‌شود که مقداری که ما در این جلسه در پنجره آلرت قرار است نمایش دهیم یک داده از نوع متنی است و داده‌ها متنی را باید درون علامت "" قرار دهیم تا از متغیرها و اعداد متمایز شوند.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">راه حل دوم - استفاده از کنسول مرورگر:</span><br />
همانطور که گفتیم، کنسول مرورگر محلی است که می‌توانید در حین نوشتن کدهای جاوا اسکریپت داده‌های دلخواه را در آن چاپ کنید. همچنین گفتیم که این کار برای رصد کردن کدها بسیار مناسب است. مثلا فرض کنید در بین خط‌های کد خود می‌خواهید بدانید که در چه وضعیتی قرار دارید. یک مقدار در کنسول چاپ می‌کنید که دقیقا به شما می‌گوید در آن لحظه در چه وضعیتی هستید.<br />
<br />
برای اضافه کردن یک مقدار به کنسول یا پنجره آلرت، روش زیر را دنبال می‌کنیم:<br />
<span style="font-weight: bold;" class="mycode_b">مرحله اول: </span>در ابتدا  یک صفحه اچ‌تی‌ام‌ال ساده و یک فایل جاوا اسکریپت خالی می‌سازیم. <br />
<span style="font-weight: bold;" class="mycode_b">مرحله دوم</span>: درون فایل جاوا  اسکریپت به ترتیب زیر می‌نویسم.<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
<br />
<span style="font-weight: bold;" class="mycode_b">مرحله سوم</span>:‌ فایل جاوا اسکریپت را مطابق آموزش جلسه قبل در صفحه بارگذاری می‌کنیم. سپس صفحه اچ‌تی‌ام‌ال خود را ذخیره می‌کنیم .<br />
<span style="font-weight: bold;" class="mycode_b">مرحله چهارم</span>: حالا فایل اچ‌تی‌ام‌ال خود را در مرورگر باز کنید.<br />
همانطور که دیدید، به محض باز شدن صفحه با پیغام "سلام من پنجره alert هستم" که در یک پنجره کوچک باز شده است مواجه خواهیم شد. این پنجره همان پنجره alert است.<br />
همچنین اگر کلیک راست کنید و روی inspect element بزنید و  وارد تب console شوید، مشاهده میکنید که پیغام «سلام من کنسول مرورگر هستم» در بخش کنسول چاپ شده است.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">فایل‌ نهایی</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">فایل HTML</span>:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">فایل app.js</span>:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">کنسول و آلرت کجا مورد استفاده قرار می‌گیرند؟</span><br />
فرض کنید یک فایل جاوا اسکریپت هزار خطی دارید! هر چند توصیه می‌کنیم تا حد امکان نگذارید فایل‌هایتان انقدر زیاد شوند و هر کدام را به بخش‌های کوچک‌تر و فایل‌های بیشتر تقسیم کنید (بدین ترتیب نگهداری و تغییر آن‌ها ساده‌تر می‌شود).<br />
در این فایل هزار خطی اگر زمانی چیزی درست کار نکند، باید ابزاری وجود داشته باشد که به شما در پیدا کردن نقطه کور کد کمک کند! مثلا ممکن است در جایی یک عدد یا متغیر را به اشتباه وارد کرده باشید و این خودش باعث بروز اشتباه در محاسبات شما شود. منظورمان از اشتباه فقط خطاهای سینتکس و قواعدی نیست! آن‌ها در کنسول مرورگر  با ذکر شماره خط و محل دقیق پیدا می‌شوند. منظورمان خطاهای دیگری است که در منطق کد وجود دارد و باعث می‌شود خروجی مورد نظر دست پیدا نکنید. برای پیدا کردن محل چنین خطاها یا اشتباه‌هایی است که با کار بسیار سخت و حتی شاید ناممکنی روبرو هستید و آلرت و کنسول دوای درد شما است! شما به کمک این نمایشگرها می‌توانید در نقطه نقطه کد نشانه‌گذاری کنید و با هر بار اجرا، مقدار متغیرها و تغییرات در کد را در کنسول یا پنجره آلرت مشاهده کنید و متوجه شوید کجای کارتان خطا داشته است. این بزرگ‌ترین موهبتی است که بعدها به شدت از استفاده از آن خوشحال خواهید شد! پس منتظر باشید که در جلسات آینده بیشتر از این ابزارها استفاده کنیم.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">نمایش کدها در المنت‌های HTML</span><br />
هر چند کنسول و آلرت راه‌حل‌های سریع و دم دستی برای نمایش اطلاعات در مرورگر هستند؛ ولی بعید است که کسی پروژه‌اش را بر پایه این دو بنا کند! در واقع پروژه‌ها اصولا برای کاربران نوشته می‌شوند و از این رو باید خروجی مناسب در قالب مناسب داشته باشند. بنابراین راه درست‌تری که در دنیای واقعی  و کدهای واقعی از آن استفاده خواهید کرد، نمایش نتیجه کدهای جاوا اسکریپت در صفحه اچ‌تی‌ام‌ال است! <br />
برای نمایش کدهای جاوا اسکریپت در تگ‌های اچ‌تی‌ام‌ال روش‌های بسیاری وجود دارد که دو مورد از آن‌ها را در جلسه اول مرور می‌کنیم:<br />
<br />
<span style="font-weight: bold;" class="mycode_b">راه اول: استفاده از دستور document.write() </span><br />
ساده‌ترین راه برای نمایش خروجی در اچ‌تی‌ام‌ال دستور write است. فایل اچ‌تی‌ام‌ال زیر را برای خود بسازید و آن را در مرورگر اجرا کنید.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">این دستور چیست و چگونه کار می‌کند؟</span><br />
کلمه اول document همان کل مجموعه اچ‌تی‌ام‌ال صفحه است. در واقع کل یک صفحه اچ‌تی‌ام‌ال در کد جاوا اسکریپت در داخل یک مجموعه‌ به نام document ذخیره می‌شود. این مجموعه و هر مجموعه دیگری را می‌توان به کمک دستوراتی که به آن‌ها متد می‌گوییم، رویشان تغییر ایجاد کرد. مثلا هر صفحه اچ‌تی‌ام‌ال در کد جاوا اسکریپت به‌عنوان یک آبجکت به نام document شناخته می‌شود.<br />
در واقع تمامی المنت‌های اچ‌تی‌ام‌ال در داخل جاوا اسکریپت در یک مجموعه جدا ذخیره می‌شوند. وقتی می‌خواهیم روی هر یک تغییری ایجاد کنیم، آن مجموعه را انتخاب و روی آن تغییر ایجاد می‌کنیم.<br />
حالا به بحث قبل بر می‌گردیم. با متد write می‌توانیم هر چه می‌خواهیم در داخل این مجموعه نمایش دهیم.  کافی است نام متد write را به همراه یک پرانتز که حاوی متن مورد نظر است، بنویسیم و در اینجا چاپ کنیم. همین حالا خودتان هم می‌توانید این کار را انجام دهید و متن‌های متفاوتی را چاپ کنید.<br />
نکته قابل توجه در این بخش همان خط به خط اجرا شدن کدهای جاوا اسکریپت در مرورگر است. اگر هر کجای صفحه دستور  document.write را بنویسید، همانجا دستور شما چاپ خواهد شد. برای مثال اگر سه دستور document.write را در مابین تگ‌های اچ‌تی‌ام‌ال خود بنویسید، این کدها دقیقا در همانجایی که نوشته شده‌اند چاپ خواهند شد.<br />
<span style="font-weight: bold;" class="mycode_b"><br />
کجا می‌توانیم از این دستور استفاده کنیم؟</span><br />
خب حالا که با دستور document.write آشنا شده‌اید بیایید یکی از نکات کاربردی آن را که در دنیای واقعی ممکن است به کارمان بیاید استفاده کنیم! یک مثال ساده وقتی است که ما می‌خواهیم یک سی‌اس‌اس، اچ‌تی‌ام‌ال یا حتی یک فایل جاوا اسکریپت خارجی را بعد از لود شدن صفحه یا تحت شرایط خاصی به صفحه وارد کنیم! در حالت عادی ما ناچاریم تمامی فایل‌های اچ‌تی‌ام‌ال و سی‌اس‌اس را که صفحه برای نمایش صحیحی بدان‌ نیاز دارد، از قبل در آن گنجانده باشیم؛ ولی با کمک جاوا اسکریپت حتی می‌توانیم بعد از اتمام لود صفحه این فایل‌ها را بدان اضافه کنیم.<br />
مثلا همین حالا یک فایل اچ‌تی‌ام‌ال ساده بسازید. سپس فایل سی‌اس‌اس دلخواه خود را بسازید ولی آن را در صفحه قرار ندهید. حالا در داخل فایل اچ‌تی‌ام‌ال و در بین تگ <head/><head>، دستور document.write بنویسید و فایل سی‌اس‌اس را به‌عنوان متن داخل این بخش در صفحه چاپ کنید (همانطور که گفتیم، دستور document.write را می‌توانیم در هر جای صفحه که خواستیم بنویسیم).<br />
مثال بالا به‌صورت زیر می‌شود:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
بعد از اجرای دوباره صفحه مشاهده می‌کنید که فایل سی‌اس‌اس روی صفحه اعمال شده است! یعنی فایل سی‌اس‌اس شما حتی بعد از لود صفحه به صفحه اضافه و اجرا شده است! از این مدل کار چه استفاده‌های خلاقانه‌تری می‌توانیم بکنیم؟ بگذارید چند تا مثال ساده و کاربردی بزنیم:<br />
مثلا می‌توانید با محاسبه ساعت سیستم کاربر (با کمک جاوا اسکریپت) و محاسبه اینکه شب، روز یا بعدازظهر است فایل‌های CSS مناسب آن زمان از روز را لود کنید! مثلا یک فایل CSS برای صبح! یک فایل CSS برای شب و یک فایل CSS برای غروب! <br />
مثلا می‌توانید با گذشت یک مدت زمان مشخص (مثلا دو دقیقه) از حضور کاربر در سایت، ویسی‌اس‌اس بخش‌هایی از سایت را به دلخواه تغییر دهید! شما چه پیشنهاد خلاقانه‌ای برای این بخش به ذهنتان می‌رسد! با ما در میان بگذارید. <br />
حالا که اندکی با ابزارهای اولیه جاوا اسکریپت آشنا شده‌اید، وقت آن رسیده است تا یک پروژه ساده و اولیه را استارت بزنیم! این پروژه قرار است در هر جلسه تکمیل‌ و تکمیل‌تر شود و در نهایت به یک پروژه واقعی ولی کوچک تبدیل شود.<br />
این پروژه قرار است یک سرویس سفارش غذا به‌صورت آنلاین باشد! برای انجام این پروژه تنها می‌توانیم یک کار ساده انجام دهیم و آن‌ هم انتخاب نام آن است! یک نام دلخواه برای این رستوران آنلاین انتخاب کنید و سپس با کمک دستور document.write که در این جلسه یاد گرفته‌ایم آن را در صفحه چاپ کنید.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">سخن پایانی:</span><br />
در سومین جلسه از آموزش جاوا اسکریپت با ابزار توسعه‌دهندگان که یکی از واجب‌ترین ابزارهای هر برنامه‌نویس و طراح وبی است آشنا شدیم. از جلسات آینده به‌طور عمیق‌تری وارد دنیای جاوا اسکریپت خواهیم شد و مفاهیم بیشتری از جمله متغیرها را برای نوشتن کدهای جاوا اسکریپتی با هم مرور خواهیم کرد.<br />
</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا اسکریپت - اضافه کردن فایل جاوا اسکریپت به صفحه]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=3897</link>
			<pubDate>Sat, 18 Nov 2017 16:25:01 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=34">mesterweb</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=3897</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">در جلسه‌ی گذشته با زبان جاوا اسکریپت و کاربردهای آن در سرتاسر دنیای وب گفتیم. در دومین جلسه قصد داریم تا نوشتن را شروع کنیم و با نحوه‌ی قراردادن کدهای جاوا اسکریپت در صفحه‌ی اچ‌تی‌ام‌ال آشنا شویم.<br />
<br />
کدهای جاوا اسکریپت منطق را به دنیای اچ‌تی‌ام‌ال می آورند. زبان HTML و CSS زبان‌های نشانه‌گذاری هستند و قابلیت کافی برای محاسبات منطقی ندارند؛ به‌عنوان مثال نمی‌توان از این دو انتظار داشت تا دو عدد را با هم جمع کند و نتیجه را به کاربر نمایش دهد. نمی‌توان از آن‌ها انتظار داشت که ورودی‌های کاربر در یک فرم ثبت‌نام را چک کند و درست یا غلط بودن اطلاعات وارد شده را مورد بررسی قرار دهد؛ اما جاوا اسکریپت می‌تواند تمام این کارها و کارهای بسیار پیچیده‌تر را انجام دهد. <br />
<br />
<span style="font-weight: bold;" class="mycode_b">چگونه می‌توانیم از جاوا اسکریپت در وب استفاده کنیم؟ </span><br />
برای نوشتن کدهای جاوا اسکریپت نیاز به هیچ ابزار خاصی نیست. تنها یک صفحه‌ی اچ‌تی‌ام‌ال و یک تگ مخصوص کدهای جاوا اسکریپت به نام &lt;script&gt; برای انجام این کار کافی است. در واقع کدهای جاوا اسکریپت در داخل این تگ با نام &lt;script&gt; &lt;/script&gt; نوشته می‌شوند. <br />
برای نوشتن کد جاوا اسکریپت در صفحه کافی است تا تگ &lt;script&gt; &lt;/script&gt; را در بین کدهای اچ‌تی‌ام‌ال باز کنید و هر چه به ذهنتان می‌رسد در آن بنویسید. مرورگر، در هنگام باز شدن صفحه، تمامی کدهای نوشته شده در این تگ‌ها را به عنوان کد جاوا اسکریپت شناسایی کرده و آن‌ها را خط‌به‌خط اجرا خواهد کرد.<br />
<br />
مثال ۱): <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
مثال دوم: در این حالت سه فایل اسکریپت را در بخش‌های مختلف صفحه و به فاصله از هم قرار داده‌ایم:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
درست است که شما این توانایی را دارید تا در هر نقطه‌ی دلخواه از صفحه‌ی اچ‌تی‌ام‌ال، کدهای جاوا اسکریپت را تایپ کنید؛ اما این آزادی به مفهوم آن نیست که هر جا که تمایل داشتید، یک تگ اسکریپت باز کنید و کدهایتان را در آن بنویسید؛ چرا که یک اصل مهم در ایجاد صفحات وب درست و اصولی، منظم بودن کدها، دسته‌بندی کردن آن‌ها و توسعه‌ی راحت آن‌ها در ادامه است. فرض کنید اگر قرار باشد تمام کدهایتان را در یک صفحه به‌صورت نامرتب بنویسید، پیدا کردن کدهای جدید در صفحه و حل مشکلات صفحه به چه دغدغه‌ی مصیبت‌باری تبدیل خواهد شد. به همین خاطر توصیه می‌کنیم که برای نوشتن جاوا اسکریپت از هم‌اکنون روش‌های اصولی را بیاموزید. به‌طور کلی ما برای این کار، دو راه پیش رو داریم:<br />
<br />
<span style="font-weight: bold;" class="mycode_b">راه اول</span>: باز کردن تگ &lt;script&gt;&lt;/script&gt; در داخل صفحه‌ی اچ‌تی‌ام‌ال و نوشتن کدهای جای جاوا اسکریپت درون این تگ<br />
<span style="font-weight: bold;" class="mycode_b">راه دوم</span>: نوشتن کدهای جاوا اسکریپت در یک فایل مجزا با فرمت .js و سپس صدا زدن این فایل توسط تگ script در صفحه‌ی اچ‌تی‌ام‌ال.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">توضیحات تکمیلی راه حل اول - قرار دادن کدهای جاوا اسکریپت در صفحه:</span><br />
هنگامی که حالت اول را انتخاب کرده باشید و بخواهید کدهای جاوا اسکریپت را درون همان صفحه‌ی اچ‌تی‌ام‌ال بنویسید، باید دقت کنید که این کدها در کجای صفحه قرار دارند. به‌طور کلی دو حالت عمومی برای این وضعیت وجود دارد:<br />
<br />
<span style="font-weight: bold;" class="mycode_b">حالت اول: بالای صفحه و در بین تگ <head></head> :</span><br />
جاوا اسکریپت را می‌توان در بین تگ <head></head> نوشت. چون مرورگر کدهای صفحه را خط‌به‌خط و از بالای صفحه شروع می‌کند؛ بنابراین قبل از اینکه هیچ چیزی در صفحه‌ی شما بارگذاری شود، ابتدا کدها خوانده و اجرا می‌شوند.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
در صورتی که کدهای ما هیچ کاری با المان‌های HTML درون صفحه نداشته باشند، این موضوع ایراد خاصی ایجاد نمی‌کند. هر چند در صورت طولانی وسنگین بودن حجم محاسبات یا خواندن فایل از سایت‌های دیگر در این بخش، ممکن است با کاهش نامحسوسی در سرعت لود صفحه مواجه شویم؛ اما به‌طور کلی می‌توانیم کدهای جاوا اسکریپت را در بالای صفحه بنویسیم. اگر به هر دلیلی بخواهید از المان‌های اچ‌تی‌ام‌ال در جاوا اسکریپت استفاده کنید و روی آن‌ها تغییر ایجاد کنید، شک نکنید که آن موقع با یک ارور نامشخص روبه‌رو می‌شوید؛ ایرادی که شاید ساعت‌ها شما را مشغول خود کند. اما این ایراد چیست‌؟<br />
<br />
همان‌طور که گفته شد، مرورگر کدها را از بالا به پایین می‌خواند. پس اگر شما در بالای صفحه کدی را بنویسید که در آن از المان‌های پایین صفحه به هر شکلی استفاده شده (مثلا یک تگ اچ‌تی‌ام‌ال انتخاب شده) چون مرورگر به آن تگ هنوز نرسیده است، آن را نمی‌شناسد و برای شما خطا بر می‌گرداند. مثال را ببینید:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
در مثال بالا ما در جاوا اسکریپت بالای صفحه، المان اچ‌تی‌ام‌ال با آی‌دی after-head-element را انتخاب کرده‌ایم. سپس به کمک جاوا اسکریپت دستور سی‌اس‌اس رنگ را روی این المان اِعمال کرده‌ایم؛ البته توضیح جامع و کامل و نحوه‌ی اعمال تمام این تغییرات و انتخاب المان‌ها توسط جاوا اسکریپت را در جلسات آینده خواهیم گفت، پس می‌خواهیم که شما تنها به اصل موضوع این جلسه توجه کنید.<br />
مشکلی که در این حالت پیش می‌آید این است که المان صفحه‌ی ما که آن را در جاوا اسکریپت انتخاب کرده‌ایم، بعد از کد جاوا اسکریپت، توسط مرورگر نمایش (رندر) داده می‌شود. پس وقتی در حال نوشتن کد هستیم، این المان وجود ندارد که بخواهیم آن را انتخاب کنیم؛ بنابراین در این حالت با یک خطا با مقدار undefined بودن المان روبه‌رو خواهیم شد که ما را از قافله عقب خواهد انداخت. برای عدم بروز این مشکل دو راه پیش رو داریم. راه ساده‌تر این است که زمانی که کدهایمان قرار است با اچ‌تی‌ام‌ال درگیر باشند، آن‌ها را در تگ head بالای صفحه ننویسیم. راه‌حل دیگر نیز استفاده از دستورات جاوا اسکریپت برای اطمینان از لود شدن کامل اچ‌تی‌ام‌ال در صفحه است. آز آنجایی که این راه‌حل، پیش‌نیازهای بسیاری نظیر eventListener-ها دارد ناچاریم تا آن را به جلسات بعدی موکول کنیم.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">بین تگ Body</span><br />
شما می‌توانید اسکریپت‌هایتان را در هر کجایی از تگ <body></body> نیز بنویسید. در واقع می‌توانید هر وقت که لازم شد یک تگ script در وسط اچ‌تی‌ام‌ال صفحه باز کنید و کدهایتان را درون آن بنویسید. ولی بهترین کار این است که تگ اسکریپت و کدهای جاوا اسکریپت خود را دقیقا بعد از تمامی تگ‌های اچ‌تی‌ام‌ال (قبل از بسته‌شدن تگ body) بنویسید. ولی چرا این کار روش بهتری محسوب می‌شود؟<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">منظم شدن کدها</span> یکی دیگر از مزایای به‌کارگیری جاوا اسکریپت در پایین صفحه است. شما می‌توانید بی‌نهایت تگ اسکریپت در هر جای صفحه که خواستید و در بین اچ‌تی‌ام‌ال خود باز کنید؛ ولی این موضوع تنها سبب شلوغ شدن صفحه و ناخوانا شدن کدهایتان می‌شود.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">جلوگیری از مشکل عدم شناخت تگ‌های استفاده شده:</span> همان‌طور که گفتیم مرورگر از بالا به پایین صفحه حرکت می‌کند. پس تگ‌هایی که در بالا هستند، در ابتدا و سپس تگ‌های پایین‌تر خوانده می‌شوند. پس بدین ترتیب مشکلی که در حالت اول در مورد ناشناخته بودن اچ‌تی‌ام‌ال صفحه داشتیم در این حالت به وجود نمی‌آید. <br />
راه‌حل دوم: اضافه کردن فایل جاوا اسکریپت مجزا به صفحه:<br />
روش دیگر برای اجرای کدهای جاوا اسکریپت، آن است که اصلا کدهای جاوا اسکریپت خود را درون صفحه HTML ننویسید. برای این کار باید یک فایل مجزا با پسوند js. برای کدهای جاوا اسکریپت ایجاد کنید. این روش باعث منظم شدن کدها و در اختیار داشتن آن‌ها در یک‌جا می‌شود و توسعه و نگهداری کدها را نیز آسان‌تر می‌کند.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">چگونه کدهای جاوا اسکریپت را در فایل جدا نوشته و آن را در صفحه خود استفاده کنیم؟<br />
<br />
</span>برای این کار مراحل زیر را دنبال کنید:<ul class="mycode_list"><li> یک صفحه HTML ایجاد کنید. آن را با نام دلخواه (اینجا ما از test.html استفاده کرده‌ایم) ذخیره کنید. <br />
</li>
<li>یک فایل جدید ایجاد و آن را با پسوند .js ذخیره کنید. نام آن را می‌توانید app.js بگذارید.<br />
</li>
<li> حالا برای اینکه این فایل جاوا اسکریپت و فایل HTML را به یکدیگر وصل کنیم باید فایل جاوا اسکریپت را در HTML خود صدا بزنیم؛ برای این کار از تگ script استفاده می‌کنیم. با این تفاوت که این بار به جای نوشتن کدها بین آن، آدرس فایل جاوا اسکریپتی خود را بدان می‌دهیم. <br />
</li>
</ul>
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<div style="text-align: justify;" class="mycode_align">
<br />
کلمه type="text/javascript" به مرورگر ما می‌فهماند که در حال نوشتن چه نوع فایل جاوا اسکریپتی هستیم. کلمه src نیز آدرس فایل جاوا اسکریپت ما را بیان می‌کند.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">روش‌های آدرس دهی به فایل‌های جاوا اسکریپت</span></div>
<div style="text-align: justify;" class="mycode_align">به طور کلی برای وارد کردن هر فایل خارجی به صفحه HTML (خواه فایل سی‌اس‌اس، عکس یا ... باشد) باید آدرس دقیق آن را به تگ مربوطه اضافه نمایید. برای مثال در اتریبیوت src در تگ img شما باید آدرس دقیق عکس را وارد کنید تا عکس شما نمایش داده شود. جاوا اسکریپت و هر منبع خارجی دیگر نیز از این قاعده مستثنی نیستند و برای استفاده در صفحه باید از آدرسی که به تگ آن‌ها می‌دهیم بارگذاری شوند.</div>
<br />
<div style="text-align: justify;" class="mycode_align">برای آدرس دادن به فایل‌ها دو راه حل وجود دارد:</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">راه حل اول: </span>اولین راه‌حل اضافه کردن آدرس دقیق فایل در فضای وب (مثلا دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
) است. همانطور که مشخص است در این روش نیاز به چیز خاصی ندارید؛ تنها چیزی که نیاز دارید آدرس دقیق فایل در اینترنت (یا اگر فایل اچ‌تی‌ام‌ال و فایل‌های دیگر  لوکال باشند به بیان دیگر هر دو بر روی کامپیوتر خودتان باشند) را در اتریبیوت src قرار دهید؛ شما نیازی به اینترنت ندارید و تنها آدرس فایل در کامپیوتر کفایت می‌کند. </div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">راه حل دوم</span>: راه حل صحیح‌تر آن است که به جای هر بار وارد کردن آدرس دقیق یک فایل در اینترنت، تمامی فایل‌های خود را در یک پوشه قرار دهید و سپس برای مسیردهی آن از آدرس همان پوشه استفاده کنید. این پوشه که تمام اچ‌تی‌ام‌ال‌ها و عکس‌ها و ... در آن قرار دارد پوشه (فولدر) روت یا ریشه نام دارد؛ در واقع این پوشه منبع و نقطه شروع آدرس‌دهی به باقی فایل‌ها نیز خواهد بود.</div>
<br />
<div style="text-align: justify;" class="mycode_align">برای آدرس دهی به فایل‌هایی که درون یک پوشه قرار دارند به نکات زیر توجه کنید:</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">حالت اول:</span> وقتی دو فایل در یک پوشه قرار بگیرند برای آدرس‌دهی به آن‌ها تنها کافیست تا اسم فایل را وارد کنید؛ مثلا فرض کنید ما یک فولدر به اسم sample1 داریم که در آن دو فایل با نام index.html و index.js وجود دارد. برای صدا زدن فایل جاوا اسکریپت در این صفحه HTML تنها کافیست تا به صورت زیر عمل کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">حالت دوم:</span> در حالتی که یک فایل در فولدری جداگانه مانند sample2 قرار دارد و فولدر دیگری با نام js-folder دارید که داخل این فولدر فایل جاوا اسکریپت ما قرار گرفته است صفحه html نیز در فولدر ریشه یا همان sample2 قرار دارد. برای اینکه به فایل HTML فایل جاوا اسکریپتی داخل JS Folder برسید تنها کافی است تا قبل از <span style="font-weight: bold;" class="mycode_b">نام فایل، نام فولدر  </span>را به همراه علامت <span style="font-weight: bold;" class="mycode_b">/</span> بنویسید.</div>
<div style="text-align: justify;" class="mycode_align">در این حالت، نوشتن نام فولدر مانند این است که ما وارد آن فولدر شده باشیم. به مثال زیر توجه کنید:</div>
<br />
<div style="text-align: justify;" class="mycode_align"><div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
مثال دیگر:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
در این حالت اگر بی نهایت فولدر دیگر در داخل هم نیز وجود داشته باشند همین کار را تکرار می‌کنیم؛ یعنی نام آن‌ها را نوشته و وارد آن‌ها می‌شویم تا زمانی که به فایل اصلی برسیم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
دقت کنید که در این حالت در ابتدای ‌آدرس‌دهی و در واقع پشت نام اولین فولدر، علامت <span style="font-weight: bold;" class="mycode_b">/ </span>نگذاشته‌ایم. به بیان دیگر ما در حال حاضر در فولدر ریشه هستیم و از آنجا می‌خواهیم به فولدرهای دیگر حرکت کنیم. حالت بعدی زمانی است که ما در فولدر ریشه نبوده و درون یک فولدر داخلی هستیم و قصد بازگشت به فولدر ریشه را داریم تا از آنجا به جاهای دیگر حرکت کنیم.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="http://romaak.ir/up/do.php?img=3968" loading="lazy"  alt="[تصویر:  do.php?img=3968]" class="mycode_img" /></div>
<br />
<span style="font-weight: bold;" class="mycode_b">حالت سوم:</span> فرض کنید فولدری به نام sample3 داریم که در آن یک فولدر به نام html، فولدری به نام js Folder و یک فولدر به اسم image وجود دارد. فرض کنید که فایل HTML ما در داخل فولدر html و فایل جاوا اسکریپت نیز در فولدر js-folder قرار دارد. برای اینکه از فایل HTML فایل جاوا اسکریپت را صدا بزنیم چه کار باید کنیم؟ <br />
در این حالت فایل مبدا ما (همان HTML) در فولدر اصلی نیست در نتیجه نمی‌توان تنها نام فولدرها را بنویسیم و وارد آن فولدر شویم. در این حالت با کمک یک / ساده در  ابتدای آدرس می‌توان آدرس‌دهی را از فولدر ریشه شروع کرد. با قرار دادن  علامت <span style="font-weight: bold;" class="mycode_b">/</span> در ابتدای مسیر  در حقیقت مسیر‌دهی را از فولدر ریشه شروع کرده‌ایم. در مثال زیر فایل HTML در پوشه اچ‌تی‌ام‌ال قرار دارد و در این پوشه هیچگونه فایل جاوا اسکریپتی وجود ندارد با این حال چون ما در ابتدای آدرس علامت <span style="font-weight: bold;" class="mycode_b">/ </span>قرار داده‌ایم گویی که از فولدر ریشه ‌آدرس داده‌ایم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<div style="text-align: center;" class="mycode_align"><img src="http://romaak.ir/up/do.php?img=3969" loading="lazy"  alt="[تصویر:  do.php?img=3969]" class="mycode_img" /></div>
<br />
<span style="font-weight: bold;" class="mycode_b">حالت چهارم</span>: فرض کنید یک فولدر با نام sample4 داریم که در این فولدر نیز فولدری به نام app وجود دارد؛ درون فولدر app یک فولدر  با نام index وجود دارد که درون آن نیز فولدری به نام HTML و یک فولدر به نام jsfolder وجود دارد. فرض کنید فایل html ما مثل همیشه در داخل فولدر html و فایل جاوا اسکریپت نیز در فولدر jsfolder قرار دارد در این صورت برای اینکه از فایل اچ‌تی‌ام‌ال، فایل جاوا اسکریپت را صدا بزنیم چه کار باید کرد؟<br />
<br />
در این حالت باز هم فایل مبدا ما (HTML) در فولدر اصلی نیست پس نمی‌توان تنها نام فولدرها را نوشته و وارد آن فولدر شویم. در حالت قبلی با کمک <span style="font-weight: bold;" class="mycode_b">/</span> به ابتدای آدرس توانستیم تا آدرس‌دهی را از فولدر ریشه شروع کنیم ولی این روش همیشه جوابگو نخواهد بود؛ فرض کنید فولدرهای بسیاری از فولدر ریشه وجود دارند و برای رسیدن به این فایل باید تمامی آن‌ها را از اول نوشت در حالی که ما می‌توانیم با یک روش ساده این مشکل را حل کنیم. <br />
<br />
اما راه‌حل چیست؟ استفاده از <span style="font-weight: bold;" class="mycode_b">/.. </span><br />
<br />
وقتی <span style="font-weight: bold;" class="mycode_b">/.. </span>قبل از آدرس یک فایل قرار می‌دهید بدین معنا است که قصد بازگشت از فولدر را داریم (مثل زدن دکمه back در ویندوز). در این حالت تنها کافی است تا به جای حرکت به سمت فولدرهای جلو به سمت عقب و فولدرهای پیشین حرکت کنید. <br />
<br />
اگر در همین مثال مسیر رسیدن به فایل‌ اچ‌تی‌ام‌ال به صورت زیر باشد:<br />
  <br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
و مسیر رسیدن به جاوا اسکریپت از ریشه به صورت زیر باشد:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
دیگر نیازی نیست برای صدا زدن فایل جاوا اسکریپت در داخل فایل اچ‌تی‌ام‌ال کل مسیر از فولدر ریشه را طی کنیم؛ برای این کار کافی است تا یک بار به فولدر قبلی برگردیم (یعنی فولدر app در این مثال) و از آنجا وارد فولدر بعدی یعنی فولدر جاوا اسکریپت شویم (با زدن دو نقطه در اول آدرس در این حالت & از پوشه HTML به عقب برگشته‌ایم و بعد وارد پوشه Js شده و در آخر فایل index.js را انتخاب کرده‌ایم).<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
جهت درک بیشتر  و راحت‌تر این موضوع، می‌توانید به نمونه‌های ساخته شده در سایت w3schools مراجعه کنید.<br />
<br />
جلسه دوم از آموزش جاوا اسکریپت نیز به پایان رسید. در این جلسه با نحوه‌ی اضافه کردن کدهای جاوا اسکریپت در یک فایل مجزا و دلایل برتری آن آشنا شدیم. در جلسه بعدی با ابزارهای مخصوص توسعه دهندگان در مرورگر گوگل کروم و فایرفاکس آشنا خواهیم شد. <br />
<br />
<br />
<br />
</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">در جلسه‌ی گذشته با زبان جاوا اسکریپت و کاربردهای آن در سرتاسر دنیای وب گفتیم. در دومین جلسه قصد داریم تا نوشتن را شروع کنیم و با نحوه‌ی قراردادن کدهای جاوا اسکریپت در صفحه‌ی اچ‌تی‌ام‌ال آشنا شویم.<br />
<br />
کدهای جاوا اسکریپت منطق را به دنیای اچ‌تی‌ام‌ال می آورند. زبان HTML و CSS زبان‌های نشانه‌گذاری هستند و قابلیت کافی برای محاسبات منطقی ندارند؛ به‌عنوان مثال نمی‌توان از این دو انتظار داشت تا دو عدد را با هم جمع کند و نتیجه را به کاربر نمایش دهد. نمی‌توان از آن‌ها انتظار داشت که ورودی‌های کاربر در یک فرم ثبت‌نام را چک کند و درست یا غلط بودن اطلاعات وارد شده را مورد بررسی قرار دهد؛ اما جاوا اسکریپت می‌تواند تمام این کارها و کارهای بسیار پیچیده‌تر را انجام دهد. <br />
<br />
<span style="font-weight: bold;" class="mycode_b">چگونه می‌توانیم از جاوا اسکریپت در وب استفاده کنیم؟ </span><br />
برای نوشتن کدهای جاوا اسکریپت نیاز به هیچ ابزار خاصی نیست. تنها یک صفحه‌ی اچ‌تی‌ام‌ال و یک تگ مخصوص کدهای جاوا اسکریپت به نام &lt;script&gt; برای انجام این کار کافی است. در واقع کدهای جاوا اسکریپت در داخل این تگ با نام &lt;script&gt; &lt;/script&gt; نوشته می‌شوند. <br />
برای نوشتن کد جاوا اسکریپت در صفحه کافی است تا تگ &lt;script&gt; &lt;/script&gt; را در بین کدهای اچ‌تی‌ام‌ال باز کنید و هر چه به ذهنتان می‌رسد در آن بنویسید. مرورگر، در هنگام باز شدن صفحه، تمامی کدهای نوشته شده در این تگ‌ها را به عنوان کد جاوا اسکریپت شناسایی کرده و آن‌ها را خط‌به‌خط اجرا خواهد کرد.<br />
<br />
مثال ۱): <br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
مثال دوم: در این حالت سه فایل اسکریپت را در بخش‌های مختلف صفحه و به فاصله از هم قرار داده‌ایم:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
درست است که شما این توانایی را دارید تا در هر نقطه‌ی دلخواه از صفحه‌ی اچ‌تی‌ام‌ال، کدهای جاوا اسکریپت را تایپ کنید؛ اما این آزادی به مفهوم آن نیست که هر جا که تمایل داشتید، یک تگ اسکریپت باز کنید و کدهایتان را در آن بنویسید؛ چرا که یک اصل مهم در ایجاد صفحات وب درست و اصولی، منظم بودن کدها، دسته‌بندی کردن آن‌ها و توسعه‌ی راحت آن‌ها در ادامه است. فرض کنید اگر قرار باشد تمام کدهایتان را در یک صفحه به‌صورت نامرتب بنویسید، پیدا کردن کدهای جدید در صفحه و حل مشکلات صفحه به چه دغدغه‌ی مصیبت‌باری تبدیل خواهد شد. به همین خاطر توصیه می‌کنیم که برای نوشتن جاوا اسکریپت از هم‌اکنون روش‌های اصولی را بیاموزید. به‌طور کلی ما برای این کار، دو راه پیش رو داریم:<br />
<br />
<span style="font-weight: bold;" class="mycode_b">راه اول</span>: باز کردن تگ &lt;script&gt;&lt;/script&gt; در داخل صفحه‌ی اچ‌تی‌ام‌ال و نوشتن کدهای جای جاوا اسکریپت درون این تگ<br />
<span style="font-weight: bold;" class="mycode_b">راه دوم</span>: نوشتن کدهای جاوا اسکریپت در یک فایل مجزا با فرمت .js و سپس صدا زدن این فایل توسط تگ script در صفحه‌ی اچ‌تی‌ام‌ال.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">توضیحات تکمیلی راه حل اول - قرار دادن کدهای جاوا اسکریپت در صفحه:</span><br />
هنگامی که حالت اول را انتخاب کرده باشید و بخواهید کدهای جاوا اسکریپت را درون همان صفحه‌ی اچ‌تی‌ام‌ال بنویسید، باید دقت کنید که این کدها در کجای صفحه قرار دارند. به‌طور کلی دو حالت عمومی برای این وضعیت وجود دارد:<br />
<br />
<span style="font-weight: bold;" class="mycode_b">حالت اول: بالای صفحه و در بین تگ <head></head> :</span><br />
جاوا اسکریپت را می‌توان در بین تگ <head></head> نوشت. چون مرورگر کدهای صفحه را خط‌به‌خط و از بالای صفحه شروع می‌کند؛ بنابراین قبل از اینکه هیچ چیزی در صفحه‌ی شما بارگذاری شود، ابتدا کدها خوانده و اجرا می‌شوند.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
در صورتی که کدهای ما هیچ کاری با المان‌های HTML درون صفحه نداشته باشند، این موضوع ایراد خاصی ایجاد نمی‌کند. هر چند در صورت طولانی وسنگین بودن حجم محاسبات یا خواندن فایل از سایت‌های دیگر در این بخش، ممکن است با کاهش نامحسوسی در سرعت لود صفحه مواجه شویم؛ اما به‌طور کلی می‌توانیم کدهای جاوا اسکریپت را در بالای صفحه بنویسیم. اگر به هر دلیلی بخواهید از المان‌های اچ‌تی‌ام‌ال در جاوا اسکریپت استفاده کنید و روی آن‌ها تغییر ایجاد کنید، شک نکنید که آن موقع با یک ارور نامشخص روبه‌رو می‌شوید؛ ایرادی که شاید ساعت‌ها شما را مشغول خود کند. اما این ایراد چیست‌؟<br />
<br />
همان‌طور که گفته شد، مرورگر کدها را از بالا به پایین می‌خواند. پس اگر شما در بالای صفحه کدی را بنویسید که در آن از المان‌های پایین صفحه به هر شکلی استفاده شده (مثلا یک تگ اچ‌تی‌ام‌ال انتخاب شده) چون مرورگر به آن تگ هنوز نرسیده است، آن را نمی‌شناسد و برای شما خطا بر می‌گرداند. مثال را ببینید:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
در مثال بالا ما در جاوا اسکریپت بالای صفحه، المان اچ‌تی‌ام‌ال با آی‌دی after-head-element را انتخاب کرده‌ایم. سپس به کمک جاوا اسکریپت دستور سی‌اس‌اس رنگ را روی این المان اِعمال کرده‌ایم؛ البته توضیح جامع و کامل و نحوه‌ی اعمال تمام این تغییرات و انتخاب المان‌ها توسط جاوا اسکریپت را در جلسات آینده خواهیم گفت، پس می‌خواهیم که شما تنها به اصل موضوع این جلسه توجه کنید.<br />
مشکلی که در این حالت پیش می‌آید این است که المان صفحه‌ی ما که آن را در جاوا اسکریپت انتخاب کرده‌ایم، بعد از کد جاوا اسکریپت، توسط مرورگر نمایش (رندر) داده می‌شود. پس وقتی در حال نوشتن کد هستیم، این المان وجود ندارد که بخواهیم آن را انتخاب کنیم؛ بنابراین در این حالت با یک خطا با مقدار undefined بودن المان روبه‌رو خواهیم شد که ما را از قافله عقب خواهد انداخت. برای عدم بروز این مشکل دو راه پیش رو داریم. راه ساده‌تر این است که زمانی که کدهایمان قرار است با اچ‌تی‌ام‌ال درگیر باشند، آن‌ها را در تگ head بالای صفحه ننویسیم. راه‌حل دیگر نیز استفاده از دستورات جاوا اسکریپت برای اطمینان از لود شدن کامل اچ‌تی‌ام‌ال در صفحه است. آز آنجایی که این راه‌حل، پیش‌نیازهای بسیاری نظیر eventListener-ها دارد ناچاریم تا آن را به جلسات بعدی موکول کنیم.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">بین تگ Body</span><br />
شما می‌توانید اسکریپت‌هایتان را در هر کجایی از تگ <body></body> نیز بنویسید. در واقع می‌توانید هر وقت که لازم شد یک تگ script در وسط اچ‌تی‌ام‌ال صفحه باز کنید و کدهایتان را درون آن بنویسید. ولی بهترین کار این است که تگ اسکریپت و کدهای جاوا اسکریپت خود را دقیقا بعد از تمامی تگ‌های اچ‌تی‌ام‌ال (قبل از بسته‌شدن تگ body) بنویسید. ولی چرا این کار روش بهتری محسوب می‌شود؟<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">منظم شدن کدها</span> یکی دیگر از مزایای به‌کارگیری جاوا اسکریپت در پایین صفحه است. شما می‌توانید بی‌نهایت تگ اسکریپت در هر جای صفحه که خواستید و در بین اچ‌تی‌ام‌ال خود باز کنید؛ ولی این موضوع تنها سبب شلوغ شدن صفحه و ناخوانا شدن کدهایتان می‌شود.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">جلوگیری از مشکل عدم شناخت تگ‌های استفاده شده:</span> همان‌طور که گفتیم مرورگر از بالا به پایین صفحه حرکت می‌کند. پس تگ‌هایی که در بالا هستند، در ابتدا و سپس تگ‌های پایین‌تر خوانده می‌شوند. پس بدین ترتیب مشکلی که در حالت اول در مورد ناشناخته بودن اچ‌تی‌ام‌ال صفحه داشتیم در این حالت به وجود نمی‌آید. <br />
راه‌حل دوم: اضافه کردن فایل جاوا اسکریپت مجزا به صفحه:<br />
روش دیگر برای اجرای کدهای جاوا اسکریپت، آن است که اصلا کدهای جاوا اسکریپت خود را درون صفحه HTML ننویسید. برای این کار باید یک فایل مجزا با پسوند js. برای کدهای جاوا اسکریپت ایجاد کنید. این روش باعث منظم شدن کدها و در اختیار داشتن آن‌ها در یک‌جا می‌شود و توسعه و نگهداری کدها را نیز آسان‌تر می‌کند.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">چگونه کدهای جاوا اسکریپت را در فایل جدا نوشته و آن را در صفحه خود استفاده کنیم؟<br />
<br />
</span>برای این کار مراحل زیر را دنبال کنید:<ul class="mycode_list"><li> یک صفحه HTML ایجاد کنید. آن را با نام دلخواه (اینجا ما از test.html استفاده کرده‌ایم) ذخیره کنید. <br />
</li>
<li>یک فایل جدید ایجاد و آن را با پسوند .js ذخیره کنید. نام آن را می‌توانید app.js بگذارید.<br />
</li>
<li> حالا برای اینکه این فایل جاوا اسکریپت و فایل HTML را به یکدیگر وصل کنیم باید فایل جاوا اسکریپت را در HTML خود صدا بزنیم؛ برای این کار از تگ script استفاده می‌کنیم. با این تفاوت که این بار به جای نوشتن کدها بین آن، آدرس فایل جاوا اسکریپتی خود را بدان می‌دهیم. <br />
</li>
</ul>
<div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<div style="text-align: justify;" class="mycode_align">
<br />
کلمه type="text/javascript" به مرورگر ما می‌فهماند که در حال نوشتن چه نوع فایل جاوا اسکریپتی هستیم. کلمه src نیز آدرس فایل جاوا اسکریپت ما را بیان می‌کند.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">روش‌های آدرس دهی به فایل‌های جاوا اسکریپت</span></div>
<div style="text-align: justify;" class="mycode_align">به طور کلی برای وارد کردن هر فایل خارجی به صفحه HTML (خواه فایل سی‌اس‌اس، عکس یا ... باشد) باید آدرس دقیق آن را به تگ مربوطه اضافه نمایید. برای مثال در اتریبیوت src در تگ img شما باید آدرس دقیق عکس را وارد کنید تا عکس شما نمایش داده شود. جاوا اسکریپت و هر منبع خارجی دیگر نیز از این قاعده مستثنی نیستند و برای استفاده در صفحه باید از آدرسی که به تگ آن‌ها می‌دهیم بارگذاری شوند.</div>
<br />
<div style="text-align: justify;" class="mycode_align">برای آدرس دادن به فایل‌ها دو راه حل وجود دارد:</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">راه حل اول: </span>اولین راه‌حل اضافه کردن آدرس دقیق فایل در فضای وب (مثلا دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
) است. همانطور که مشخص است در این روش نیاز به چیز خاصی ندارید؛ تنها چیزی که نیاز دارید آدرس دقیق فایل در اینترنت (یا اگر فایل اچ‌تی‌ام‌ال و فایل‌های دیگر  لوکال باشند به بیان دیگر هر دو بر روی کامپیوتر خودتان باشند) را در اتریبیوت src قرار دهید؛ شما نیازی به اینترنت ندارید و تنها آدرس فایل در کامپیوتر کفایت می‌کند. </div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">راه حل دوم</span>: راه حل صحیح‌تر آن است که به جای هر بار وارد کردن آدرس دقیق یک فایل در اینترنت، تمامی فایل‌های خود را در یک پوشه قرار دهید و سپس برای مسیردهی آن از آدرس همان پوشه استفاده کنید. این پوشه که تمام اچ‌تی‌ام‌ال‌ها و عکس‌ها و ... در آن قرار دارد پوشه (فولدر) روت یا ریشه نام دارد؛ در واقع این پوشه منبع و نقطه شروع آدرس‌دهی به باقی فایل‌ها نیز خواهد بود.</div>
<br />
<div style="text-align: justify;" class="mycode_align">برای آدرس دهی به فایل‌هایی که درون یک پوشه قرار دارند به نکات زیر توجه کنید:</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">حالت اول:</span> وقتی دو فایل در یک پوشه قرار بگیرند برای آدرس‌دهی به آن‌ها تنها کافیست تا اسم فایل را وارد کنید؛ مثلا فرض کنید ما یک فولدر به اسم sample1 داریم که در آن دو فایل با نام index.html و index.js وجود دارد. برای صدا زدن فایل جاوا اسکریپت در این صفحه HTML تنها کافیست تا به صورت زیر عمل کنیم:</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">حالت دوم:</span> در حالتی که یک فایل در فولدری جداگانه مانند sample2 قرار دارد و فولدر دیگری با نام js-folder دارید که داخل این فولدر فایل جاوا اسکریپت ما قرار گرفته است صفحه html نیز در فولدر ریشه یا همان sample2 قرار دارد. برای اینکه به فایل HTML فایل جاوا اسکریپتی داخل JS Folder برسید تنها کافی است تا قبل از <span style="font-weight: bold;" class="mycode_b">نام فایل، نام فولدر  </span>را به همراه علامت <span style="font-weight: bold;" class="mycode_b">/</span> بنویسید.</div>
<div style="text-align: justify;" class="mycode_align">در این حالت، نوشتن نام فولدر مانند این است که ما وارد آن فولدر شده باشیم. به مثال زیر توجه کنید:</div>
<br />
<div style="text-align: justify;" class="mycode_align"><div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
مثال دیگر:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
در این حالت اگر بی نهایت فولدر دیگر در داخل هم نیز وجود داشته باشند همین کار را تکرار می‌کنیم؛ یعنی نام آن‌ها را نوشته و وارد آن‌ها می‌شویم تا زمانی که به فایل اصلی برسیم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
دقت کنید که در این حالت در ابتدای ‌آدرس‌دهی و در واقع پشت نام اولین فولدر، علامت <span style="font-weight: bold;" class="mycode_b">/ </span>نگذاشته‌ایم. به بیان دیگر ما در حال حاضر در فولدر ریشه هستیم و از آنجا می‌خواهیم به فولدرهای دیگر حرکت کنیم. حالت بعدی زمانی است که ما در فولدر ریشه نبوده و درون یک فولدر داخلی هستیم و قصد بازگشت به فولدر ریشه را داریم تا از آنجا به جاهای دیگر حرکت کنیم.<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="http://romaak.ir/up/do.php?img=3968" loading="lazy"  alt="[تصویر:  do.php?img=3968]" class="mycode_img" /></div>
<br />
<span style="font-weight: bold;" class="mycode_b">حالت سوم:</span> فرض کنید فولدری به نام sample3 داریم که در آن یک فولدر به نام html، فولدری به نام js Folder و یک فولدر به اسم image وجود دارد. فرض کنید که فایل HTML ما در داخل فولدر html و فایل جاوا اسکریپت نیز در فولدر js-folder قرار دارد. برای اینکه از فایل HTML فایل جاوا اسکریپت را صدا بزنیم چه کار باید کنیم؟ <br />
در این حالت فایل مبدا ما (همان HTML) در فولدر اصلی نیست در نتیجه نمی‌توان تنها نام فولدرها را بنویسیم و وارد آن فولدر شویم. در این حالت با کمک یک / ساده در  ابتدای آدرس می‌توان آدرس‌دهی را از فولدر ریشه شروع کرد. با قرار دادن  علامت <span style="font-weight: bold;" class="mycode_b">/</span> در ابتدای مسیر  در حقیقت مسیر‌دهی را از فولدر ریشه شروع کرده‌ایم. در مثال زیر فایل HTML در پوشه اچ‌تی‌ام‌ال قرار دارد و در این پوشه هیچگونه فایل جاوا اسکریپتی وجود ندارد با این حال چون ما در ابتدای آدرس علامت <span style="font-weight: bold;" class="mycode_b">/ </span>قرار داده‌ایم گویی که از فولدر ریشه ‌آدرس داده‌ایم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<div style="text-align: center;" class="mycode_align"><img src="http://romaak.ir/up/do.php?img=3969" loading="lazy"  alt="[تصویر:  do.php?img=3969]" class="mycode_img" /></div>
<br />
<span style="font-weight: bold;" class="mycode_b">حالت چهارم</span>: فرض کنید یک فولدر با نام sample4 داریم که در این فولدر نیز فولدری به نام app وجود دارد؛ درون فولدر app یک فولدر  با نام index وجود دارد که درون آن نیز فولدری به نام HTML و یک فولدر به نام jsfolder وجود دارد. فرض کنید فایل html ما مثل همیشه در داخل فولدر html و فایل جاوا اسکریپت نیز در فولدر jsfolder قرار دارد در این صورت برای اینکه از فایل اچ‌تی‌ام‌ال، فایل جاوا اسکریپت را صدا بزنیم چه کار باید کرد؟<br />
<br />
در این حالت باز هم فایل مبدا ما (HTML) در فولدر اصلی نیست پس نمی‌توان تنها نام فولدرها را نوشته و وارد آن فولدر شویم. در حالت قبلی با کمک <span style="font-weight: bold;" class="mycode_b">/</span> به ابتدای آدرس توانستیم تا آدرس‌دهی را از فولدر ریشه شروع کنیم ولی این روش همیشه جوابگو نخواهد بود؛ فرض کنید فولدرهای بسیاری از فولدر ریشه وجود دارند و برای رسیدن به این فایل باید تمامی آن‌ها را از اول نوشت در حالی که ما می‌توانیم با یک روش ساده این مشکل را حل کنیم. <br />
<br />
اما راه‌حل چیست؟ استفاده از <span style="font-weight: bold;" class="mycode_b">/.. </span><br />
<br />
وقتی <span style="font-weight: bold;" class="mycode_b">/.. </span>قبل از آدرس یک فایل قرار می‌دهید بدین معنا است که قصد بازگشت از فولدر را داریم (مثل زدن دکمه back در ویندوز). در این حالت تنها کافی است تا به جای حرکت به سمت فولدرهای جلو به سمت عقب و فولدرهای پیشین حرکت کنید. <br />
<br />
اگر در همین مثال مسیر رسیدن به فایل‌ اچ‌تی‌ام‌ال به صورت زیر باشد:<br />
  <br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
و مسیر رسیدن به جاوا اسکریپت از ریشه به صورت زیر باشد:<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
دیگر نیازی نیست برای صدا زدن فایل جاوا اسکریپت در داخل فایل اچ‌تی‌ام‌ال کل مسیر از فولدر ریشه را طی کنیم؛ برای این کار کافی است تا یک بار به فولدر قبلی برگردیم (یعنی فولدر app در این مثال) و از آنجا وارد فولدر بعدی یعنی فولدر جاوا اسکریپت شویم (با زدن دو نقطه در اول آدرس در این حالت & از پوشه HTML به عقب برگشته‌ایم و بعد وارد پوشه Js شده و در آخر فایل index.js را انتخاب کرده‌ایم).<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
جهت درک بیشتر  و راحت‌تر این موضوع، می‌توانید به نمونه‌های ساخته شده در سایت w3schools مراجعه کنید.<br />
<br />
جلسه دوم از آموزش جاوا اسکریپت نیز به پایان رسید. در این جلسه با نحوه‌ی اضافه کردن کدهای جاوا اسکریپت در یک فایل مجزا و دلایل برتری آن آشنا شدیم. در جلسه بعدی با ابزارهای مخصوص توسعه دهندگان در مرورگر گوگل کروم و فایرفاکس آشنا خواهیم شد. <br />
<br />
<br />
<br />
</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا اسکریپت - آشنایی با جاوا اسکریپت]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=3767</link>
			<pubDate>Wed, 25 Oct 2017 02:16:53 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=34">mesterweb</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=3767</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">آشنایی با جاوا اسکریپت </span></div>
<br />
<br />
<div style="text-align: justify;" class="mycode_align">اگر قصد ورود به دنیای طراحی وب و برنامه‌نویسی دارید، یکی از مهم‌ترین شاهراه‌هایی که باید از آن عبور کنید زبان برنامه‌نویسی جاوا اسکریپت است. <br />
<br />
<span style="font-weight: bold;" class="mycode_b">جاوا اسکریپت</span> یکی از مهم‌ترین زبان‌های برنامه‌نویسی حوزه‌ی وب محسوب می‌شود. جاوا اسکریپت اولین بار با اسم LiveScript و توسط شرکت <span style="font-weight: bold;" class="mycode_b">نت اسکیپ</span> معرفی شد و بعدها به جاوا اسکریپت تغییر نام داد. البته جالب است بدانید جاوا اسکریپت نه از نظر ساختار و نه از نظر مفاهیم، شباهتی به زبان جاوا ندارد و این تشابه اسمی، در حد همان کلمات و نام و نشان باقی مانده است. <br />
 به‌طور طبیعی بعد از یادگیری HTML و CSS نوبت یادگیری جاوا اسکریپت می‌رسد. یادگیری جاوا اسکریپت چندان کار سختی نیست؛ ولی نکته مهم در رابطه با یادگیری این زبان، آن است که بر خلاف اچ‌تی‌ام‌ال یا سی‌اس‌اس که زبان‌های نشانه‌گذاری محسوب می‌شوند، جاوا اسکریپت یک زبان «برنامه نویسی» است. پس انتظار یادگیری سریع و بدون دردسر نداشته باشید و خود را برای چالش‌های جدید و درگیری‌های ذهنی بیشتر آماده کنید.  <br />
<br />
<span style="font-weight: bold;" class="mycode_b">چرا باید جاوا اسکریپت یاد بگیریم؟</span><br />
یکی از ارکان اولیه برای ورود به دنیای برنامه نویسی و خصوصا برنامه نویسی وب، یادگیری جاوا اسکریپت است. اگر بخواهیم به‌طور کلی صحبت کنیم، جاوا اسکریپت کارش افزودن منطق به فضای اچ‌تی‌ام‌ال است. در واقع با کمک اچ‌تی‌ام‌ال و سی‌اس‌اس به‌تنهایی، نمی‌توان یک صفحه‌ی وب کامل داشت. مثلا فرض کنید که می‌خواهید با کلیک روی یک دکمه، محتویات جدیدی در صفحه اچ تی ام ال نمایش دهید یا یک سری از المنت‌های صفحه را حذف یا اضافه کنید.  این‌ کارها به کمک HTML CSS قابل پیاده‌سازی نیستند. اینجا است که جاوا اسکریپت پا به میدان می‌گذارد و بار منطقی و اجرایی بسیاری از کارهای وب را بر دوش می‌کشد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">جاوا اسکریپت جزو زبان‌های فرانت‌اند وب محسوب می‌شود</span><br />
اگر نمی‌دانید فرانت‌اند و بَکِند چیست در ادامه مطلب ما را دنبال کنید. به‌طور کلی برنامه نویسی وب به دو بخش کلی تقسیم می‌شود. فرانت اند (FrontEnd) و بکند (Backend). فرانت‌اند به هر آن چیزی گفته می‌شود که توسط کاربر دیده و در مرورگر رندر می‌شود. بکند نیز به هر آن چیزی که در سمت سرور (که بار پردازش منطق و هسته هر سایت را بر عهده دارد) است گفته می‌شود. جاوا اسکریپت اصولا یک زبان سمت کاربر یا فرانت‌اند است که بار منطقی فرآیندهای سمت وب را بر عهده می‌گیرد. البته با به وجود آمدن زبان <span style="font-weight: bold;" class="mycode_b">NodeJS</span> امکان نوشتن سرویس‌های وب سمت سرور با جاوا اسکریپت نیز وجود دارد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">ابزارها و کتابخانه‌های معروف جاوا اسکریپت</span><br />
یکی از مزایای جاوا اسکریپت، فریم‌ورک‌ها و کتابخانه‌هایی است که بر پایه این زبان شکل گرفته‌اند. کتابخانه هر زبان برنامه نویسی، در واقع مجموعه‌ای از دستورات آن زبان است که در قالب خلاصه و آماده برای استفاده قرار می‌گیرد. یکی از مشهورترین و نام‌آشناترین کتابخانه‌های جاوا اسکریپت، Jquery است. جی‌کوئِری (Jquery) در واقع مجموعه‌ای از دستورات پیچیده‌ی جاوا اسکریپت است که به‌صورت بسیار ساده و آسان در اختیار همه قرار دارد. از مزیت‌های جی‌کوئِری برای مثال این است که برای یک کار اگر باید ده خط کد جاوا اسکریپت بنویسید، با استفاده از یک متد یک خطی جی‌کوئِری می‌توانید همان کار را با کیفیت و دقت بالا انجام دهید.<br />
برای اینکه بیشتر از پیش به یادگیری جاوا اسکریپت علاقمند شوید، می‌خواهیم به شما بگوییم که این روزها  جاوا اسکریپت، تنها یک زبان برنامه نویسی برای طراحی سایت و افزودن مقداری انیمیشن و حرکت و منطق به وب‌سایت‌ها نیست. فریم‌ورک‌ها و ابزارهای بسیار زیادی با کمک این زبان توسعه داده شده‌اند که با کمک آن‌ها می‌توان از اپلیکیشن‌های موبایل گرفته تا سیستم‌های پیچیده را پیاده‌سازی کرد. ابزارهایی مثل <span style="font-weight: bold;" class="mycode_b">ReactJS</span> شرکت <span style="font-weight: bold;" class="mycode_b">فیس‌بوک</span> یا <span style="font-weight: bold;" class="mycode_b">Angular JS</span> شرکت <span style="font-weight: bold;" class="mycode_b">گوگل</span> از جمله‌ی این ابزارها هستند. همچنین با روی کار آمدن <span style="font-weight: bold;" class="mycode_b">Node.JS</span>، امکان اجرای کدهای جاوا اسکریپت به‌عنوان زبان سمت سرور نیز فراهم شده است.<br />
<br />
به‌طور کلی با زبان جاوا اسکریپت از سرورها تا اپلیکیشن‌های موبایل تا سیستم‌های وب قابل پیاده‌سازی هستند. ابزارهای زبان مورد بحث، این روزها به‌قدری گسترده شده‌اند که نمی‌توانیم بدون آن‌ها به دنیای وب فکر کنیم. از بین مشهورترین ابزارها و فریم‌ورک‌های توسعه‌یافته به زبان جاوا اسکریپت می‌توان به موارد زیر اشاره کرد: <br />
<ul class="mycode_list"><li>کتابخانه‌ی <span style="font-weight: bold;" class="mycode_b">ReactJS</span> که بسیاری از سایت‌ها و سرویس‌های بزرگ بر پایه‌ی این فریم‌ورک توسعه داده‌ شده‌اند.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">React Native</span> محصول دیگری از شرکت فیس‌بوک که امکان تولید اپلیکیشن‌های موبایل بر پایه زبان جاوا اسکریپت را فراهم می‌کند. نمونه بارز آن اپلیکیشن موبایل اینستاگرام است.<br />
</li>
<li>فریم ورک <span style="font-weight: bold;" class="mycode_b">AngularJs</span> گوگل که آخرین نسخه آن angular 4 است و بسیاری از ابزارها و سرویس‌های بزرگ بر پایه‌‌ی آن توسعه داده‌ شده‌اند.<br />
</li>
<li>زبان اپن سورس <span style="font-weight: bold;" class="mycode_b">NodeJS</span> که  امکان برنامه‌نویسی با زبان جاوا اسکریپت را در سمت سرور فراهم می‌کند. <br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">در این دوره چه چیزهایی فرا خواهیم گرفت؟</span><br />
ما در این دوره تمرکز اصلی خود را بر کسانی قرار داده‌ایم که قصد ورود به دنیای برنامه‌نویسی جاوا اسکریپت دارند. به همین دلیل سعی شده است مطالب تا حد امکان ساده و به دور از عمق و پیچیدگی بسیار باشد. البته این بدان معنا نیست که مفاهیم مهم را از قلم انداخته‌ایم،؛ بلکه بدین معنا است که آموزش پیش روی شما سعی دارد در عین سادگی و روان بودن، مفاهیم اصلی را نیز توضیح دهد و از گفتن جزئیات تکمیلی خودداری شود. در ادامه‌ی این آموزش‌ها مطالب زیر را فرا خواهید گرفت‌ (توجه کنید که مفاهیم زیر بسیار کلی هستند و در خلال آموزش مطالب بیشتری گنجانده شده است):<br />
<br />
<span style="font-weight: bold;" class="mycode_b">۱.</span> آشنایی با مفاهیم اولیه‌ی ساخت فایل جاوا اسکریپت و استفاده از آن در صفحه‌ی اچ‌تی‌ام‌ال<br />
<span style="font-weight: bold;" class="mycode_b">۲.</span> آشنایی با ابزارهای دیباگ جاوا اسکریپت (کنسول مرورگر)<br />
<span style="font-weight: bold;" class="mycode_b">۳.</span> آشنایی با مفاهیم اولیه از جمله متغیرها و انواع آن<br />
<span style="font-weight: bold;" class="mycode_b">۴.</span> آشنایی با فانکشن‌ها<br />
<span style="font-weight: bold;" class="mycode_b">۵.</span> آشنایی با آبجکت‌ها<br />
<span style="font-weight: bold;" class="mycode_b">۶.</span> آشنایی با آرایه‌ها<br />
<span style="font-weight: bold;" class="mycode_b">۷.</span> شرط‌ها و if و else در برنامه نویسی<br />
<span style="font-weight: bold;" class="mycode_b">۶.</span> EventListener و Event-ها<br />
<span style="font-weight: bold;" class="mycode_b">۷.</span> تغییر DOM (المان‌های صفحه‌ی اچ‌تی‌ام‌ال) از طریق جاوا اسکریپت<br />
<br />
<span style="font-weight: bold;" class="mycode_b">برای اجرای کدهای جاوا اسکریپت به چه چیزی نیاز داریم؟</span><br />
به‌صورت کلی برای اجرای کدهای جاوا اسکریپت، هیچ ابزار خاصی نیاز نیست. در واقع بر خلاف زبان‌های دیگر که نیاز به یک کامپایلر برای اجرای کدها دارند، جاوا اسکریپت روی مرورگرهای اینترنت اجرا می‌شود. برای نوشتن کدها نیز یک ادیتور متن ساده مانند نوت پد پیش‌فرض ویندوز کار شما را راه می‌اندازد؛ اما برای راحتی کار و بهتر یاد گرفتن توصیه می‌کنیم از IDE (محیط‌ها و نرم‌افزارهای کدنویسی و توسعه) مناسب استفاده کنید. پیشنهاد ما به شما، <span style="font-weight: bold;" class="mycode_b">Visual Studio Code</span> <span style="font-weight: bold;" class="mycode_b">مایکروسافت</span> یا نرم افزار <span style="font-weight: bold;" class="mycode_b">++</span><span style="font-weight: bold;" class="mycode_b">NotePad </span>است.<br />
<br />
لینک دانلود Visual Studio Code - نسخه سبک محیط توسعه مایکروسافت (این نسخه با آن ابزار مشهور چند گیگابایتی مایکروسافت Visual Studio تفاوت دارد.)<br />
<br />
<div style="text-align: left;" class="mycode_align">دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">چه پیش‌زمینه‌هایی برای یادگیری جاوا اسکریپت نیاز است؟</span><br />
برای یادگیری جاوا اسکریپت نیاز نیست حتما برنامه‌نویس کارکشته‌ای باشید؛ اما باید با زبان‌های طراحی وب پایه همچون HTML و CSS آشنایی اندکی داشته باشید. این را هم به خاطر داشته باشید که جاوا اسکریپت زبان برنامه نویسی است و بر خلاف اچ‌تی‌ام‌ال و سی‌اس‌اس که زبان نشانه‌گذاری هستند، کمی بیشتر شما را درگیر «برنامه نویسی» می‌کند، به همین خاطر ممکن است برای یادگیری آن کمی به صبر و حوصله و تمرین بیشتری نیاز داشته باشید. <br />
همچنین اگر اچ‌تی‌ام‌ال یا سی‌اس‌اس بلد نیستید یا از یادتان رفته است، توصیه می‌کنیم همین حالا آموزش HTML و CSS  را از طریق لینک‌های زیر دنبال کنید و خود را برای شروع دوره جاوا اسکریپت آماده کنید.<br />
<br />
اگر آماده هستید، بیاید اولین خط از کدهای جاوا اسکریپت را امتحان کنیم. برای شروع دوره ابتدا یک صفحه اچ‌تی‌ام‌ال ساده ایجاد می‌کنیم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
قبل از بسته شدن تگ body، یک تگ مخصوص باز می‌کنیم که امکان اجرای کدهای جاوا اسکریپت را برای ما فراهم کند. این تگ جدید&lt;script&gt;&lt;/script&gt; <br />
نام دارد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">کار این تگ چیست؟‌</span><br />
این تگ به شما اجازه می‌دهد کدهای جاوا اسکریپت را در صفحه اچ‌تی‌ام‌ال بنویسید. </div>
<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حال می‌خواهیم به‌محض اینکه این صفحه‌ی خالی باز شد، یک پیغام هشدار  ()alert برای کاربر باز شود و به او جمله‌ی «خوش‌آمدید» را اعلام کند. برای این کار بین تگ script که پیش‌تر باز کردید، عبارت "سلام به اولین جلسه از آموزش جاوا اسکریپت خوش آمدید"  را بنویسید.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حال صفحه‌ی اچ‌تی‌ام‌ال خود را ذخیره و آن را یک بار رفرش کنید. خواهید دید که به محض بارگذاری صفحه، پیغام نوشته‌شده توسط شما در قالب یک پنجره‌ی «alert» نمایش داده خواهد شد.<br />
<br />
خب! اولین جلسه از آموزش جاوا اسکریپت ما به پایان رسید. در واقع این جلسه بیشتر برای آشنایی کلی شما با موضوع و اهمیت جاوا اسکریپت بود و بار علمی چندانی به همراه نداشت. در جلسات بعدی سعی داریم با عمق بیشتری به این موضوع بپردازیم. با ما همراه شوید.<br />
<br />
</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">آشنایی با جاوا اسکریپت </span></div>
<br />
<br />
<div style="text-align: justify;" class="mycode_align">اگر قصد ورود به دنیای طراحی وب و برنامه‌نویسی دارید، یکی از مهم‌ترین شاهراه‌هایی که باید از آن عبور کنید زبان برنامه‌نویسی جاوا اسکریپت است. <br />
<br />
<span style="font-weight: bold;" class="mycode_b">جاوا اسکریپت</span> یکی از مهم‌ترین زبان‌های برنامه‌نویسی حوزه‌ی وب محسوب می‌شود. جاوا اسکریپت اولین بار با اسم LiveScript و توسط شرکت <span style="font-weight: bold;" class="mycode_b">نت اسکیپ</span> معرفی شد و بعدها به جاوا اسکریپت تغییر نام داد. البته جالب است بدانید جاوا اسکریپت نه از نظر ساختار و نه از نظر مفاهیم، شباهتی به زبان جاوا ندارد و این تشابه اسمی، در حد همان کلمات و نام و نشان باقی مانده است. <br />
 به‌طور طبیعی بعد از یادگیری HTML و CSS نوبت یادگیری جاوا اسکریپت می‌رسد. یادگیری جاوا اسکریپت چندان کار سختی نیست؛ ولی نکته مهم در رابطه با یادگیری این زبان، آن است که بر خلاف اچ‌تی‌ام‌ال یا سی‌اس‌اس که زبان‌های نشانه‌گذاری محسوب می‌شوند، جاوا اسکریپت یک زبان «برنامه نویسی» است. پس انتظار یادگیری سریع و بدون دردسر نداشته باشید و خود را برای چالش‌های جدید و درگیری‌های ذهنی بیشتر آماده کنید.  <br />
<br />
<span style="font-weight: bold;" class="mycode_b">چرا باید جاوا اسکریپت یاد بگیریم؟</span><br />
یکی از ارکان اولیه برای ورود به دنیای برنامه نویسی و خصوصا برنامه نویسی وب، یادگیری جاوا اسکریپت است. اگر بخواهیم به‌طور کلی صحبت کنیم، جاوا اسکریپت کارش افزودن منطق به فضای اچ‌تی‌ام‌ال است. در واقع با کمک اچ‌تی‌ام‌ال و سی‌اس‌اس به‌تنهایی، نمی‌توان یک صفحه‌ی وب کامل داشت. مثلا فرض کنید که می‌خواهید با کلیک روی یک دکمه، محتویات جدیدی در صفحه اچ تی ام ال نمایش دهید یا یک سری از المنت‌های صفحه را حذف یا اضافه کنید.  این‌ کارها به کمک HTML CSS قابل پیاده‌سازی نیستند. اینجا است که جاوا اسکریپت پا به میدان می‌گذارد و بار منطقی و اجرایی بسیاری از کارهای وب را بر دوش می‌کشد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">جاوا اسکریپت جزو زبان‌های فرانت‌اند وب محسوب می‌شود</span><br />
اگر نمی‌دانید فرانت‌اند و بَکِند چیست در ادامه مطلب ما را دنبال کنید. به‌طور کلی برنامه نویسی وب به دو بخش کلی تقسیم می‌شود. فرانت اند (FrontEnd) و بکند (Backend). فرانت‌اند به هر آن چیزی گفته می‌شود که توسط کاربر دیده و در مرورگر رندر می‌شود. بکند نیز به هر آن چیزی که در سمت سرور (که بار پردازش منطق و هسته هر سایت را بر عهده دارد) است گفته می‌شود. جاوا اسکریپت اصولا یک زبان سمت کاربر یا فرانت‌اند است که بار منطقی فرآیندهای سمت وب را بر عهده می‌گیرد. البته با به وجود آمدن زبان <span style="font-weight: bold;" class="mycode_b">NodeJS</span> امکان نوشتن سرویس‌های وب سمت سرور با جاوا اسکریپت نیز وجود دارد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">ابزارها و کتابخانه‌های معروف جاوا اسکریپت</span><br />
یکی از مزایای جاوا اسکریپت، فریم‌ورک‌ها و کتابخانه‌هایی است که بر پایه این زبان شکل گرفته‌اند. کتابخانه هر زبان برنامه نویسی، در واقع مجموعه‌ای از دستورات آن زبان است که در قالب خلاصه و آماده برای استفاده قرار می‌گیرد. یکی از مشهورترین و نام‌آشناترین کتابخانه‌های جاوا اسکریپت، Jquery است. جی‌کوئِری (Jquery) در واقع مجموعه‌ای از دستورات پیچیده‌ی جاوا اسکریپت است که به‌صورت بسیار ساده و آسان در اختیار همه قرار دارد. از مزیت‌های جی‌کوئِری برای مثال این است که برای یک کار اگر باید ده خط کد جاوا اسکریپت بنویسید، با استفاده از یک متد یک خطی جی‌کوئِری می‌توانید همان کار را با کیفیت و دقت بالا انجام دهید.<br />
برای اینکه بیشتر از پیش به یادگیری جاوا اسکریپت علاقمند شوید، می‌خواهیم به شما بگوییم که این روزها  جاوا اسکریپت، تنها یک زبان برنامه نویسی برای طراحی سایت و افزودن مقداری انیمیشن و حرکت و منطق به وب‌سایت‌ها نیست. فریم‌ورک‌ها و ابزارهای بسیار زیادی با کمک این زبان توسعه داده شده‌اند که با کمک آن‌ها می‌توان از اپلیکیشن‌های موبایل گرفته تا سیستم‌های پیچیده را پیاده‌سازی کرد. ابزارهایی مثل <span style="font-weight: bold;" class="mycode_b">ReactJS</span> شرکت <span style="font-weight: bold;" class="mycode_b">فیس‌بوک</span> یا <span style="font-weight: bold;" class="mycode_b">Angular JS</span> شرکت <span style="font-weight: bold;" class="mycode_b">گوگل</span> از جمله‌ی این ابزارها هستند. همچنین با روی کار آمدن <span style="font-weight: bold;" class="mycode_b">Node.JS</span>، امکان اجرای کدهای جاوا اسکریپت به‌عنوان زبان سمت سرور نیز فراهم شده است.<br />
<br />
به‌طور کلی با زبان جاوا اسکریپت از سرورها تا اپلیکیشن‌های موبایل تا سیستم‌های وب قابل پیاده‌سازی هستند. ابزارهای زبان مورد بحث، این روزها به‌قدری گسترده شده‌اند که نمی‌توانیم بدون آن‌ها به دنیای وب فکر کنیم. از بین مشهورترین ابزارها و فریم‌ورک‌های توسعه‌یافته به زبان جاوا اسکریپت می‌توان به موارد زیر اشاره کرد: <br />
<ul class="mycode_list"><li>کتابخانه‌ی <span style="font-weight: bold;" class="mycode_b">ReactJS</span> که بسیاری از سایت‌ها و سرویس‌های بزرگ بر پایه‌ی این فریم‌ورک توسعه داده‌ شده‌اند.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">React Native</span> محصول دیگری از شرکت فیس‌بوک که امکان تولید اپلیکیشن‌های موبایل بر پایه زبان جاوا اسکریپت را فراهم می‌کند. نمونه بارز آن اپلیکیشن موبایل اینستاگرام است.<br />
</li>
<li>فریم ورک <span style="font-weight: bold;" class="mycode_b">AngularJs</span> گوگل که آخرین نسخه آن angular 4 است و بسیاری از ابزارها و سرویس‌های بزرگ بر پایه‌‌ی آن توسعه داده‌ شده‌اند.<br />
</li>
<li>زبان اپن سورس <span style="font-weight: bold;" class="mycode_b">NodeJS</span> که  امکان برنامه‌نویسی با زبان جاوا اسکریپت را در سمت سرور فراهم می‌کند. <br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">در این دوره چه چیزهایی فرا خواهیم گرفت؟</span><br />
ما در این دوره تمرکز اصلی خود را بر کسانی قرار داده‌ایم که قصد ورود به دنیای برنامه‌نویسی جاوا اسکریپت دارند. به همین دلیل سعی شده است مطالب تا حد امکان ساده و به دور از عمق و پیچیدگی بسیار باشد. البته این بدان معنا نیست که مفاهیم مهم را از قلم انداخته‌ایم،؛ بلکه بدین معنا است که آموزش پیش روی شما سعی دارد در عین سادگی و روان بودن، مفاهیم اصلی را نیز توضیح دهد و از گفتن جزئیات تکمیلی خودداری شود. در ادامه‌ی این آموزش‌ها مطالب زیر را فرا خواهید گرفت‌ (توجه کنید که مفاهیم زیر بسیار کلی هستند و در خلال آموزش مطالب بیشتری گنجانده شده است):<br />
<br />
<span style="font-weight: bold;" class="mycode_b">۱.</span> آشنایی با مفاهیم اولیه‌ی ساخت فایل جاوا اسکریپت و استفاده از آن در صفحه‌ی اچ‌تی‌ام‌ال<br />
<span style="font-weight: bold;" class="mycode_b">۲.</span> آشنایی با ابزارهای دیباگ جاوا اسکریپت (کنسول مرورگر)<br />
<span style="font-weight: bold;" class="mycode_b">۳.</span> آشنایی با مفاهیم اولیه از جمله متغیرها و انواع آن<br />
<span style="font-weight: bold;" class="mycode_b">۴.</span> آشنایی با فانکشن‌ها<br />
<span style="font-weight: bold;" class="mycode_b">۵.</span> آشنایی با آبجکت‌ها<br />
<span style="font-weight: bold;" class="mycode_b">۶.</span> آشنایی با آرایه‌ها<br />
<span style="font-weight: bold;" class="mycode_b">۷.</span> شرط‌ها و if و else در برنامه نویسی<br />
<span style="font-weight: bold;" class="mycode_b">۶.</span> EventListener و Event-ها<br />
<span style="font-weight: bold;" class="mycode_b">۷.</span> تغییر DOM (المان‌های صفحه‌ی اچ‌تی‌ام‌ال) از طریق جاوا اسکریپت<br />
<br />
<span style="font-weight: bold;" class="mycode_b">برای اجرای کدهای جاوا اسکریپت به چه چیزی نیاز داریم؟</span><br />
به‌صورت کلی برای اجرای کدهای جاوا اسکریپت، هیچ ابزار خاصی نیاز نیست. در واقع بر خلاف زبان‌های دیگر که نیاز به یک کامپایلر برای اجرای کدها دارند، جاوا اسکریپت روی مرورگرهای اینترنت اجرا می‌شود. برای نوشتن کدها نیز یک ادیتور متن ساده مانند نوت پد پیش‌فرض ویندوز کار شما را راه می‌اندازد؛ اما برای راحتی کار و بهتر یاد گرفتن توصیه می‌کنیم از IDE (محیط‌ها و نرم‌افزارهای کدنویسی و توسعه) مناسب استفاده کنید. پیشنهاد ما به شما، <span style="font-weight: bold;" class="mycode_b">Visual Studio Code</span> <span style="font-weight: bold;" class="mycode_b">مایکروسافت</span> یا نرم افزار <span style="font-weight: bold;" class="mycode_b">++</span><span style="font-weight: bold;" class="mycode_b">NotePad </span>است.<br />
<br />
لینک دانلود Visual Studio Code - نسخه سبک محیط توسعه مایکروسافت (این نسخه با آن ابزار مشهور چند گیگابایتی مایکروسافت Visual Studio تفاوت دارد.)<br />
<br />
<div style="text-align: left;" class="mycode_align">دیدن لینک ها برای شما امکان پذیر نیست. لطفا <a href="https://forum.romaak.ir/member.php?action=register">ثبت نام کنید</a> یا <a href="https://forum.romaak.ir/member.php?action=login">وارد حساب خود شوید</a> تا بتوانید لینک ها را ببینید.<br />
</div>
<br />
<span style="font-weight: bold;" class="mycode_b">چه پیش‌زمینه‌هایی برای یادگیری جاوا اسکریپت نیاز است؟</span><br />
برای یادگیری جاوا اسکریپت نیاز نیست حتما برنامه‌نویس کارکشته‌ای باشید؛ اما باید با زبان‌های طراحی وب پایه همچون HTML و CSS آشنایی اندکی داشته باشید. این را هم به خاطر داشته باشید که جاوا اسکریپت زبان برنامه نویسی است و بر خلاف اچ‌تی‌ام‌ال و سی‌اس‌اس که زبان نشانه‌گذاری هستند، کمی بیشتر شما را درگیر «برنامه نویسی» می‌کند، به همین خاطر ممکن است برای یادگیری آن کمی به صبر و حوصله و تمرین بیشتری نیاز داشته باشید. <br />
همچنین اگر اچ‌تی‌ام‌ال یا سی‌اس‌اس بلد نیستید یا از یادتان رفته است، توصیه می‌کنیم همین حالا آموزش HTML و CSS  را از طریق لینک‌های زیر دنبال کنید و خود را برای شروع دوره جاوا اسکریپت آماده کنید.<br />
<br />
اگر آماده هستید، بیاید اولین خط از کدهای جاوا اسکریپت را امتحان کنیم. برای شروع دوره ابتدا یک صفحه اچ‌تی‌ام‌ال ساده ایجاد می‌کنیم.<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
قبل از بسته شدن تگ body، یک تگ مخصوص باز می‌کنیم که امکان اجرای کدهای جاوا اسکریپت را برای ما فراهم کند. این تگ جدید&lt;script&gt;&lt;/script&gt; <br />
نام دارد.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">کار این تگ چیست؟‌</span><br />
این تگ به شما اجازه می‌دهد کدهای جاوا اسکریپت را در صفحه اچ‌تی‌ام‌ال بنویسید. </div>
<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حال می‌خواهیم به‌محض اینکه این صفحه‌ی خالی باز شد، یک پیغام هشدار  ()alert برای کاربر باز شود و به او جمله‌ی «خوش‌آمدید» را اعلام کند. برای این کار بین تگ script که پیش‌تر باز کردید، عبارت "سلام به اولین جلسه از آموزش جاوا اسکریپت خوش آمدید"  را بنویسید.</div>
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<br />
<div style="text-align: justify;" class="mycode_align">حال صفحه‌ی اچ‌تی‌ام‌ال خود را ذخیره و آن را یک بار رفرش کنید. خواهید دید که به محض بارگذاری صفحه، پیغام نوشته‌شده توسط شما در قالب یک پنجره‌ی «alert» نمایش داده خواهد شد.<br />
<br />
خب! اولین جلسه از آموزش جاوا اسکریپت ما به پایان رسید. در واقع این جلسه بیشتر برای آشنایی کلی شما با موضوع و اهمیت جاوا اسکریپت بود و بار علمی چندانی به همراه نداشت. در جلسات بعدی سعی داریم با عمق بیشتری به این موضوع بپردازیم. با ما همراه شوید.<br />
<br />
</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[کد جاوااسکریپت برای مخفی و ظاهر کردن عناصر سایت]]></title>
			<link>https://forum.romaak.ir/showthread.php?tid=1878</link>
			<pubDate>Fri, 06 Jan 2017 17:24:40 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.romaak.ir/member.php?action=profile&uid=2">نگار</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.romaak.ir/showthread.php?tid=1878</guid>
			<description><![CDATA[<div style="text-align: justify;" class="mycode_align">توسط این تکه کد می توانید عنصر و یا مجموعه ای از عناصر HTML که در صفحه وب شما وجود دارد را با کلیک روی یک دکمه یا لینک مخفی و مجددا نمایان کنید. اینکار به صورتtoggle انجام میشود. به این معنی که اگر عنصر مخفی بود نمایان شود و اگر نمایان بود مخفی شود. اگر می خواهید دسته ای از عناصر را مخفی و ظاهر کنید باید آنها را داخل یک عنصر نگهدارنده مانند div قرار داده و با استفاده از خصیصه id مربوط به عنصر نگهدارنده، این کد را بر روی آن اعمال کنید. <br />
<br />
پس از قرار دادن این تابع جاوااسکریپت، نیاز به لینک و یا عنصری داریم که با کلیک کردن روی آن، تابع فراخوانی شده و عنصر مورد نظر مخفی (hide) و نمایان (Show) شود. تابع جاوااسکریپت را در بخش <head> صفحه قرار می دهیم و آنرا توسط رویداد کلیک یک لینک فراخوانی می کنیم: <br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">javascript</span><br />
<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<span style="font-weight: bold;" class="mycode_b"><br />
HTML</span><br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;" class="mycode_align">توسط این تکه کد می توانید عنصر و یا مجموعه ای از عناصر HTML که در صفحه وب شما وجود دارد را با کلیک روی یک دکمه یا لینک مخفی و مجددا نمایان کنید. اینکار به صورتtoggle انجام میشود. به این معنی که اگر عنصر مخفی بود نمایان شود و اگر نمایان بود مخفی شود. اگر می خواهید دسته ای از عناصر را مخفی و ظاهر کنید باید آنها را داخل یک عنصر نگهدارنده مانند div قرار داده و با استفاده از خصیصه id مربوط به عنصر نگهدارنده، این کد را بر روی آن اعمال کنید. <br />
<br />
پس از قرار دادن این تابع جاوااسکریپت، نیاز به لینک و یا عنصری داریم که با کلیک کردن روی آن، تابع فراخوانی شده و عنصر مورد نظر مخفی (hide) و نمایان (Show) شود. تابع جاوااسکریپت را در بخش <head> صفحه قرار می دهیم و آنرا توسط رویداد کلیک یک لینک فراخوانی می کنیم: <br />
<br />
</div>
<div style="text-align: justify;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">javascript</span><br />
<br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
<span style="font-weight: bold;" class="mycode_b"><br />
HTML</span><br />
<br />
<div style="text-align: left;" class="mycode_align"><div style="text-align: center;" class="mycode_align"><span style="color: #ff3333;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *</span></span></div>
</div>
</div>]]></content:encoded>
		</item>
	</channel>
</rss>