جستجو در محتوا

آگهی

نام شما:

ایمیلتان:

صفحه اصلی > نرم افزار و برنامه نویسی > آموزش جاوااسکریپت - خلق اعداد تصادفی، Random number
آموزش جاوااسکریپت - خلق اعداد تصادفی، Random number PDF چاپ نامه الکترونیک
نوشته شده توسط مدير سايت   
يكشنبه ۲۷ دی ۱۳۸۸ ساعت ۱۱:۲۶
فهرست مطلب
آموزش جاوااسکریپت
قابلیتهای جاوااسکریپت
پیغامهای خطا در جاوااسکریپت
در کجا باید کدهای جاوااسکریپت را نوشت
متغیرها در جاوااسکریپت
تاریخ و زمان در جاوااسکریپت
عملگرها در جاوااسکریپت
دستورات شرطی if…else
دستور switch
تکرار دستورات توسط حلقه ها javascript loops
آرایه ها Array
رویدادها و حوادث Javascript Events
شئ جاوااسکریپت چیست؟
خلق اعداد تصادفی، Random number
شئ window
خصوصیات شئ location
تمامی صفحات

 

خلق اعداد تصادفی، Random number
شئ Math دارای یک متد مفید برای خلق اعداد تصادفی بنام random است که الگوی آن بصورت زیر میباشد:

Math.random ( )

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

Math.random ( ) * num

که بجای num عدد مورد نظر را می نویسید.

گرد کردن اعداد اعشاری
همانطور که از اسم این متد پیداست، برای گرد کردن یک عدد اعشاری استفاده می شود که البته همین متد را به سه مدل می توان تعریف کرد:
برای گرد کردن یک عدد اعشاری به عدد صحیح بعد از خود باید به شکل زیر عمل کنید:

Math.ceil ( num )

برای گرد کردن یک عدد اعشاری به عدد قبل:

Math.floor ( num )

و برای گرد کردن عدد اعشاری به نزدیک ترین عدد:

Math.round ( num )

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

Math.max ( num, num, … )
Math.min ( num, num, … )

خصوصیات شئ Math
این شئ دارای خصوصیات و ثابتهایی است که برای محاسبات عملیات پیچیده ریاضی بکار می رود:
Math.E این خصوصیت مقدار ثابت عدد Euler را بر میگرداند که تقریباً برابر است با ۲/۷۱۸۲ . این عدد به عدد E معروف است.
Math.PI مقدار ثابت عدد پی که تقریباً برابر است با ۳/۱۴
Math.LOG2E لگاریتم عدد Euler بر مبنای دو. تقریباً برابر است با ۱/۴۴۲۶
Math.LOG10E لگاریتم E بر مبنای ده. تقریباً برابر است با ۰/۴۳۴۲
Math.LN2 لگاریتم دو بر مبنای E. تقریباً برابر است با ۰/۶۹۳۱
Math.LN10 لگاریتم ده بر مبنای E. تقریباً برابر است با ۲/۳۰۲۵
Math.SQRT2 جذر عدد دو. تقریباً برابر است با ۱/۴۱۴۲
Math.SQRT1_2 جذر یک دوم. تقریباً برابر است با ۰/۷۰۷۱

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

متدهای شئ Math
متدهایی هم که در زیر لیست شده اند، کاربرد کمتری نسبت به متدهای ذکر شده در ابتدای این بخش دارند.

abs قدرمطلق بر میگرداند.
acos آرک کسینوس نقطه x که یک عدد میان منفی یک و یک باید باشد؛ خارج از این اعداد مقدار NaN بر گردانده می شود. آرک کسینوس عدد یک برابر با صفر است و منفی یک برابر با عدد پی.
asin آرک سینوس نقطه x که یک عدد میان منفی یک و یک ؛ خارج از آن مقدار NaN بر گردانده می شود.
atan آرک تانژانت نقطه x .
atan2 آرک تانژانت زاویه تتا بین دو نقطه x و y .
cos کسینوس یک زاویه را بر میگرداند.
exp مقدار Ex را بر میگرداند که E همان عدد ثابت Euler است و x هم یک مقدار عددی.
log لگاریتم یک عدد بر مبنای عدد E .
pow این متد توان را برای یک عدد محاسبه می کند و دارای دو پارامتر است که در اولی عدد مشخص می شود و در پارامتر دوم مقدار عددی توان را تعیین می کنید.
sin سینوس یک مقدار عددی را محاسبه می کند.
sqrt جذر یک عدد را برمی گرداند.
tan عددی بر می گرداند که نشان دهنده تانژانت یک زاویه است.

شئ های مربوط به HTML DOM

در بخشهای قبل با شئ های درون ساخت جاوااسکریپت آشنا شدید. در این صفحه قصد داریم شئ های مربوط به HTML DOM را توضیح دهیم. ابتدا اجازه دهید در مورد DOM یک توضیحی بدهم که اصلاً DOM چی هست؟

تعریف DOM
DOM مخفف سه کلمه Document Object Model می باشد. در بعضی جاها برگردان فارسی آنرا مدل شئ سند می گویند. متنی که در زیر آمده تعریف DOM بر اساس W3C است:

” The Document Object Model is a platform- and language -neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. The document can be further processed and the results of that processing can be incorporated back into the presented page. This is an overview of DOM-related materials here at W3C and around the web. “

اما به زبان ساده، DOM رابطه بین عناصر HTML مانند متن ها، عکس ها و غیره را با همان سند اچ تی ام ال بیان می کند. این یک فرآیندی است که به برنامه ها و اسکریپت ها اجازه دسترسی به محتوا و ساختار داخلی پنجره مرورگر را میدهد تا آنها بتوانند بصورت آزادانه تغییراتی ایجاد کنند که نتیجه این تغییرات در صفحه وب نمایان شود. در همین رابطه زبانی بنام DHTML بوجود آمد که با ترکیب کردن عناصر اچ تی ام ال با استایل شیت و اسکریپتها می تواند محتوای اسناد وب را بصورت متحرک و پویا درآورد. در اینجا پویا بودن فقط به این منظور نیست که متنها حرکت کنند و از یک طرف وارد بشوند و از طرف دیگر خارج؛ ممکن است لینکها هر بار شما را به یک سایتی پیوند دهند و یا عکس ها مرتب تغییر کنند، کلاً هر تغییری که نیاز به کدنویسی مجدد برای آن سند را نداشته باشد، منظور پویا بودن را می رساند.

سلسله مراتب اشیاء DOM
جاوااسکریپت، شئ هایی دارد که می توانند بطور مستقیم با خود مرورگر ارتباط برقرار کنند و همچنین شئ هایی که با صفحه وب در ارتباط هستند. در کل می توان این اشیاء را به دو دسته اصلی تقسیم کرد، دسته اول که BOM گفته می شود یعنی Browser Object Model  شئ هایی که با پنجره مرورگر می توانند ارتباط برقرار کنند و دسته دوم DOM که با Document یعنی همان سند اچ تی ام ال. تمامی این اشیاء بر اساس یک سلسله مراتبی این ارتباط را برقرار می کنند که در رأس آنها شئ window می باشد. برای دیدن این سلسله مراتب اینجا را کلیک کنید.
همانطور که در شکل مشاهده کردید از شئ window تا شئ Document جزو دسته BOM می باشند و اشیاء بعد از Document در دسته DOM قرار می گیرند. ناگفته نماند که در حال حاضر کمتر صحبت اصطلاح BOM می شود و کلاً این مجموعه را DOM می گویند.
شما باید این سلسله مراتب را برای استفاده اشیاء آن، رعایت کنید. این سلسله مراتب را می توان به شجره نامه تشبیه کرد و شما مجبور هستید برای صدا کردن هر شخص آنرا با نام پدرش بیاورید و در بعضی جاها حتی نام پدر بزرگ هم لازم است، بطور مثال: علی فرزند محمد یا علی فرزند محمد فرزند حسین. در اینجا هم پدر اصلی Window می باشد وپدر بعدی Document است که فرزندهای آن همان عناصر اچ تی ام ال میباشند و سپس Form و در آخر هم Select که تنها یک فرزند دارد. برای استفاده از آنها باید ابتدا اسم پدر و سپس اسم فرزند را نوشت و در آخر هم خصوصیت و یا متد آن فرزند که همه اینها با یک نقطه از هم باید جدا شوند. بطور مثال اگر میخواهید یک فرم را بنام form1 صدا بزنید تا با آن ارتباط برقرار کنید باید به شکل زیر عمل شود:

window.document.form1

مانند همه اشیاء در جاوااسکریپت ، این شئ ها هم دارای خصوصیات و متدهایی هستند که بعد از رعایت کردن سلسله مراتب با گذاشتن یک نقطه می توانید آنها را بنویسید. مانند:

window.history.go (-1)

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

این شئ مستقیماً با پنجره مرورگر در ارتباط است که معمولاً خصوصیات و متدهای این شئ در تگهای body و frameset بکار می روند. window
این شئ شامل اطلاعاتی در رابطه با مرورگر کاربر است که توسط خصوصیات و متدهای آن این اطلاعات ذخیره تا مورد استفاده قرار گیرند. navigator
برای کار کردن بر روی فریمهای اچ تی ام ال. frame
دسترسی و ارتباط با کلیه عناصر اچ تی ام ال مانند، متنها فرمها عکسها و غیره. document
شامل اطلاعاتی در مورد URL یا همان آدرس اینترنتی صفحه ای که در حال نمایش است. location
این شئ دارای اطلاعاتی برای رجوع کاربر به صفحاتی که قبل از آن صفحه مشاهده شده و بر عکس. history
اطلاعات صفحه مرورگر کاربر را بر می گرداند مانند اندازه طول و عرض. screen