آموزش طراحی سایت

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

آموزش طراحی سایت

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

شی History در جاوا اسکریپت

شی History  مشخصات صفحات مرور شده

شی ( History ) در جاوا اسکریپت :

شی History به طور اتوماتیک با باز شدن یک صفحه ، توسط موتور جاوا اسکریپت مرورگر ( Java Script runtime engine ) ایجاد می شود . این شی حاوی اطلاعاتی درباره URL هایی که کاربر توسط مرورگر مشاهده کرده است ، می باشد . به عبارت دیگر آدرس صفحاتی که کاربر توسط مرورگر مشاهده می کند ، همانند یک آرایه در شی History ذخیره می شود .
این اطلاعات درباره صفحه قبلی و یا صفحات قبلی مشاهده شده ، صفحه بعدی یا صفحات بعدی مشاهده شده ( التبه در صورتی که کاربر از مسیر رفته به عقب بر گشته باشد ) می باشد . از این شی برای دسترسی به صفحات قبلی و یا بعدی مرور شده استفاده می شود .
این شی یکی از زیر مجموعه های شی window است و باید به شکل کلی زیر به کار رود . البته بدون به کار بردن واژه window ، قابلیت دسترسی مستقیم به شی نیز وجود دارد :

Syntax

window.history.نام خاصیت
یا
history.
نام خاصیت

در ادامه به معرفی و تشریح خواص و رویدادهای مهم و پر کاربرد این شی در Java Script می پردازم .

خواص مهم شی History

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

نام خاصیت

شرح

length

این خاصیت تعداد صفحاتی که URL و مشخصات آنها در شی History ذخیره شده است را مشخص می کند .

رویداد های مهم شی History :

در لیست زیر رویدادهای شی History قرار دارد . برای دریافت اطلاعات بیشتر و مثال های عملی بر روی نام آنها کلیک کنید :

نام رویداد

کاربرد

back ( )

این متد صفحه قبلی مشاهده شده که آدرس آن در شی History ذخیره شده ، را باز می کند .

forward ( )

این متد صفحه بعدی مشاهده شده که آدرس آن در شی History ذخیره شده ، را باز می کند .

go ( )

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

 

شی History - خاصیت length

این خاصیت ، تعداد صفحاتی که آدرس URL آنها در شی History ذخیره شده است را بر می گرداند .
هنگامی که یک پنجره را باز می کنید ، مقدار این خاصیت 0 است ، یعنی مقدار آن از صفر شروع می شود . با حرکت در بین صفحات ، به ازای هر صفحه جدید باز شده ، یک واحد به این خاصیت اضافه می شود .
همانطور که در بخش معرفی شی History گفتم ، آدرس صفحاتی که توسط مرورگر مشاهده می کنید ، به صورت یک آرایه در شی History ذخیره می شود . به عبارت دیگر می توان گفت اندازه این خاصیت برابر با اعضا آرایه فوق است .

شکل کلی استفاده از این خاصیت به صورت زیر است :

Syntax

history.length

نکته 1 : خروجی این خاصیت یک مقدار عددی ( Integer ) است .
نکته 2 : مقدار خاصیت length در مرورگر Firefox از 1 شروع می شود .

مثال 1 : در مثال زیر با استفاده از خاصیت length ، تعداد صفحاتی که آدرس ( URL ) آنها در شی History مرورگر شما قرار دارد را در خروجی نشان داده ایم .

Example

<script type ="text/javascript">
  document.write ( history.length ) ;
</script>

کد

 

متد  back() شی History :

این متد ، صفحه قبلی مشاهده شده در مرورگر را باز می کند . آدرس ( URL ) این صفحه در عنصر قبلی ذخیره شده در شی History قرار دارد .
عملکرد این متد همانند این است که دکمه back مرورگر را کلیک کرده و یا متد ( ) go شی History را با مقدار 1- اجرا کنید .

شکل کلی استفاده از این متد به صورت زیر است :

Syntax

history.back ( )

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

Example

<script type = " text/javascript " >
  function backward ( )
    {
      history.back ( ) ;
    }
</script>

< input   type = " button "   name = " PrPage "   value = "
بازگشت به صفحه قبل"   onclick = " backward ( ) "   />

کد

 

متد  forward() شی History :

این متد ، صفحه بعدی مشاهده شده در مرورگر را باز می کند . آدرس ( URL ) این صفحه در عنصر بعدی ذخیره شده در شی History قرار دارد . البته این متد زمانی اجرا می شود که کاربر از مسیر رفته به عقب برگشته باشد . به عبارت دیگر آدرس صفحه ای در عنصر بعدی حافظه شی History ذخیره شده باشد . در غیر این صورت نیز با فراخوانی این متد خطایی رخ نداده و مرورگر در همان صفحه باقی می ماند .
عملکرد این متد همانند این است که کاربر دکمه forward مرورگر را کلیک کرده و یا متد  go( ) شی History را با مقدار 1+ اجرا کنید .

شکل کلی استفاده از این متد به صورت زیر است :

Syntax

history.forward ( )

متد ( ) back شی History :

این متد ، صفحه قبلی مشاهده شده در مرورگر را باز می کند . آدرس ( URL ) این صفحه در عنصر قبلی ذخیره شده در شی History قرار دارد .
عملکرد این متد همانند این است که دکمه
back مرورگر را کلیک کرده و یا متد ( ) go شی History را با مقدار 1- اجرا کنید .

شکل کلی استفاده از این متد به صورت زیر است :

Syntax

history.back ( )

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

Example

<script type = " text/javascript " >
  function backward ( )
    {
      history.back ( ) ;
    }
</script>

< input   type = " button "   name = " PrPage "   value = "
بازگشت به صفحه قبل"   onclick = " backward ( ) "   />

کد

 

متد ( ) forward شی History :

این متد ، صفحه بعدی مشاهده شده در مرورگر را باز می کند . آدرس ( URL ) این صفحه در عنصر بعدی ذخیره شده در شی History قرار دارد . البته این متد زمانی اجرا می شود که کاربر از مسیر رفته به عقب برگشته باشد . به عبارت دیگر آدرس صفحه ای در عنصر بعدی حافظه شی History ذخیره شده باشد . در غیر این صورت نیز با فراخوانی این متد خطایی رخ نداده و مرورگر در همان صفحه باقی می ماند .
عملکرد این متد همانند این است که کاربر دکمه
forward مرورگر را کلیک کرده و یا متد ( ) go شی History را با مقدار 1+ اجرا کنید .

شکل کلی استفاده از این متد به صورت زیر است :

Syntax

history.forward ( )

مثال 1 : در مثال زیر از متد forward در تابع fwd استفاده کرده ایم . این تابع با کلیک بر روی دکمه در شی History رفتن به صفحه بعدی فراخوانی شده و مرورگر را به صفحه بعدی مشاهده شده می برد . برای رفتن به صفحه بعد بر روی دکمه فرمان رفتن به صفحه بعدی در قسمت خروجی کلیک کنید :

Example

<script type = " text/javascript " >
  function fwd ( )
    {
      history.forward ( ) ;
    }
</script>

< input   type = " button "   name = " FwPage "   value = "
رفتن به صفحه بعد"   onclick = " fwd ( ) "   />

کد

 

متد  go() شی History :

این متد یک صفحه که در لیست صفحات شی History مرورگر ذخیره شده است را باز می کند .
همانطور که در معرفی شی History گفتیم ، آدرس URL صفحاتی که شما در یک پنجره مرورگر مشاهده می کنید ، در این شی ذخیره می شود . از این متد برای رفتن به یکی از صفحات مشاهده شده که در شی History قرار دارد ، استفاده می شود .
این متد دارای یک پارامتر اجباری است ، که باید به وسیله آن آدرس URL صفحه و یا شماره آن در لیست شی History را به این متد ارسال کنید . نوع این پارامتر می تواند عددی ( Integer ) و یا متن ( String ) باشد .

شکل کلی استفاده از این متد به صورت زیر است :

Syntax

history.go ( VLocation * )
* VLocation :
یک پارامتر عددی یا متن که آدرس صفحه مورد نظر را مشخص می کند

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

  • عدد 1 : به معنای باز کردن صفحه بعدی مشاهده شده است ( البته متد در این حالت زمانی کار می کند ، که کاربر از مسیر رفته به عقب بازگشت کرده باشد )
  • عدد 2 : به معنای باز کردن 2 صفحه بعد مشاهده شده نسبت به صفحه جاری است و برای اعداد 3 و 4 و ... نیز به همین منوال است .
  • عدد 1 - (منفی : ( به معنای باز کردن صفحه قبلی مشاهده شده است .
  • اعداد 2- و 3- و ... : به معنای باز کردن 2 صفحه قبل مشاهده شده است و برای اعداد 3- و 4- و... وضع به همین منوال است .

نکته مهم : در صورتی که صفحه تعیین شده در متد  go( ) ، قبلا در پنجره جاری مرورگر باز و مشاهده نشده باشد و به عبارت دیگر آن صفحه در شی History مرورگر وجود نداشته باشد ، در هنگام اجرای این متد خطایی رخ نمی دهد و مرورگر در صفحه جاری باقی می ماند

مثال 1 : در مثال زیر متد  go( ) شی History را در تابع PrPage به کار برده ایم . با اجرای این متد ، مرورگر به صفحه قبلی مشاهده شده می رود .:

Example

<script type = " text/javascript " >
  function PrPage ( )
    {
      history.go ( -1 ) ;
    }
</script>

< input   type = " button "   name = " BtnPrPage "   value ="Previous Page"   onclick = " PrPage ( ) "   />

کد

مثال 2 : در مثال زیر متد  go( ) شی History را در تابع UrlDefine به کار برده ایم . در این مثال آدرس صفحه ای که می خواهیم مرورگر آن را باز کند را به صورت کامل در داخل پرانتز جلوی متد  go() توسط پارامتر مربوط قرار داده ایم . با اجرای این متد ، مرورگر صفحه تعیین شده را در صورتی که شما آن را قبلا در همین پنجره مشاهده کرده باشید ، باز می کند .

Example

<script type = " text/javascript " >
  function UrlDefine ( )
    {
      history.go ( http://www.gharbnet.ir.ir/JavaScript/Histoty.aspx ) ;
    }
</script>

< input   type = " button "   name = " BtnUrl "   value ="Go Page"   onclick = " UrlDefine ( ) "   />

کد

 

شی window در جاوا اسکریپت

شی window :

شی window بالاترین شی در رده بندی عناصر صفحات HTML در مدل DOM است . هر پنجره مرورگر در واقع یک نسخه از شی window است . این شی به ازای هر نمونه از تگ های < body > یا < frameset > ساخته می شود .
در لیست زیر مجموعه خواص و رویدادهای مهم و پرکاربرد شی window آمده است . برای دریافت اطلاعات بیشتر راجع به هر کدام بر روی نام آن کلیک کنید :

خواص شی window :

نام خاصیت

شرح

closed

مشخص می کند که آیا پنجره مورد نظر بسته است یا خیر .

defaultStatus

این خاصیت برای تعیین متن نمایش داده شده در نوار statusbar پنجره به کار می رود .

length

این خاصیت تعداد قاب ها موجود در پنجره را بر می گرداند .

name

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

opener

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

self

این خاصیت برای اشاره به پنجره ای که هم اکنون در آن هستیم به کار می رود .

status

این خاصیت برای تعیین متن نمایش داده شده در نوار statsbar به کار می رود .

top

این خاصیت به پنجره مادر پنجره جاری اشاره می کند .

 

خاصیت closed :

این خاصیت یک مقدار boolen را بر می گرداند که مشخص می کند آیا پنجره مورد نظر بسته شده است یا خیر .
در صورتی که پنجره مورد نظر بسته باشد ، پاسخ False و در صورتی که هنوز بتسه نشده باشد ، جواب True است .

Syntax

window.closed
* window = نام پنجره مورد نظر

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

Example

<script type ="text/javascript">
  document.write ( window.self.closed ) ;
</script>

کد

مثال : در مثال زیر ابتدا توسط متد openبرای دریافت اطلاعات راجع به متد open به بخش متد open در شی window بروید  یک پنجره جدید را ایجاد می کنیم . برای ایجاد پنجره جدید باید بر روی دکمه فرمان open window کلیک نمایید . سپس توسط دکمه فرمان get status با فراخوانی تابع get_status به بررسی باز یا بسته بودن پنجره جدید باز شده می پردازیم . برای مشاهده کاربرد این خاصیت ابتدا پنجره جدید را باز کرده و سپس در هر دو وضعیت باز و یا بسته بودن آن پنجره دکمه فرمان get status را فشار داده و به خروجی مثال دقت کنید :
نکته مهم : همانطور که می دانید در یک صفحه HTML یک عنصر ابتدا باید ایجاد شود ، تا بتوان به آن عنصر دسترسی داشت . بنابراین اگر در مثال زیر قبل از اینکه دکمه open window را زده و پنجره MyWindow را ایجاد کنید ، بر روی دکمه get status کلیک نمایید ، در عمل برنامه پنجره MyWindow را نشناحته و در صفحه error رخ می دهد . برای جلوگیری از این error با یک ساختار Try ... catch که در بخش آموزش Java Script به معرفی آن پرداخته ایم ، اقدام به طراحی یک مکانیزم کشف خطا کرده ایم ، که در صورت زدن دکمه open window قبل از اینکه دکمه get status را زده باشید ، یک پیغام هشدار به شما نمایش داده می شود :

Example

<input type="button" id="btnopen" onclick="open_window()" value="open window" />
<input type="button" id="btnstatus" onclick="get_status()" value="get status" />

<script type="text/javascript">
  function open_window ( )
    {
      MyWindow = window.open ( ' ' , 'MyWindow' , 'height =200 , width =150' ) ;
      MyWindow.document.write ( " This is MyWindow" ) ;
    }

  function get_status ( )
    {
      try
        {
          if ( MyWindow.closed )
             document.write ( "MyWindow is Close" );
          else
              document.write ( "MyWindow is Open" );
          }
     catch ( err )
        {
          alert ( "First create MyWindow !" );
        }
    }
</script>

کد

 

خاصیت: defaultStatus

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

Syntax

window.defaultStatus = " متن مورد نظر "
* window = نام پنجره مورد نظر

مثال : در مثال زیر با استفاده از یک دستور ساده متن نوار Statusbar مرورگر را در هنگام لود صفحه به مقدار مورد نظر تغییر داده ایم . به پایین پنجره مرورگر دقت کنید . این مقدار را در آینده دوباره می توان تغییر داد :
نکته : خاصیت self در مثال زیر به پنجره جاری که هم اکنون در آن هستیم اشاره می کند .

Example

<script type ="text/javascript">
  window.self.defaultStatus = "www.Gharbnet.ir.ir :: An Investigation for Development" ;
</script>

کد

مثال : در مثال زیر یک کادر متن ( TextBox ) ساده و یک دکمه فرمان را برای تعیین متن نوار StatusBar بر روی فرم قرار داده ایم . نحوه عمکرد این مثال به این صورت است که کاربر بایستی متنی را در درون کادر متن وارد کرده و سپس بر روی دکمه فرمان change defaultStatus کلیک نماید . در این صورت تابع show_msg اجرا شده و متن نوار StatusBar را به متن وارد شده از کاربر تغییر خواهد داد :
نکته : خاصیت self در مثال زیر به پنجره جاری که هم اکنون در آن هستیم اشاره می کند .

Example

<script type ="text/javascript">
<input type="text" id="TxtMsg" size="25" />
<input type="button" id="BtnMsg" value="change defaultStatus" onclick="show_msg( )" />

  function show_msg ( )
    {
      TxtMsg = document.getElementById ( "TxtMsg" );
      var Msg = TxtMsg.value ;
      window.self.defaultStatus = Msg ;
    }
</script>

کد

 

خاصیت: length

این خاصیت تعداد قاب ها یا frame های موجود در پنجره را نمایش می دهد . همانطور که در HTML آموختید ، قاب یا frame با تگ < iframe > ایجاد شده و هر قاب می تواند یک صفحه را در درون خود جای دهد . در حالت عادی تعداد frame های موجود در یک صفحه صفر است .

Syntax

window.length
* window = نام پنجره مورد نظر

نکته : نکته جالبی که در هنگام کار با این خاصیت با آن روبرو شدم این بود که چنانچه دستور window.length را در یک script به کار ببریم ، این دستور فقط تعداد frame هایی که با تگ < iframe > قبل از آن script ایجاد شده اند را نشان می دهد و frame های بعد از خود را نمی شناسد . برای درک بهتر به دو مثال این صفحه دقت کنید . در مثال اول چون هیچ frame قبل از script آن ایجاد نشده است ، مقدار خروجی دستور window.length صفر است . اما در مثال دوم قبل از script آن یک frame ایجاد کرده ایم و می بینیم که خروجی script در این حالت 1 است .

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

Example

<script type ="text/javascript">
  document.write ( window.length ) ;
</script>

کد

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

Example

<iframe src="Dom_Introduce.aspx" style="width: 500px; height: 200px "></iframe>

<script type ="text/javascript">
  document.write ( "<br /> " + window.length ) ;
</script>

کد

 

خاصیت name :

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

Syntax

window.name = " نام مورد نظر " ;

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

Example

<script type ="text/javascript">
  window.name = "MyWindow" ;
  document.write ( window.name ) ;
</script>

کد

خاصیت opener :

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

Syntax

window.opener ;

 

خاصیت self :

این خاصیت به پنجره ای که هم اکنون در آن هستیم ، اشاره می کند . این خاصیت نیز باید با یک خاصیت یا متد دوم برای آگاهی از خواص پنجره فعلی استفاده شود و به تنهایی کارایی چندانی ندارد . به کار بردن این خاصیت برای اشاره به پنجره فعلی در بیشتر موارد ضروری نیست و صرفا ذکر واژه window به تنهایی کافی است اما برای اطمینان بیشتر ، بهتر است به کار رود .

Syntax

window.self ;

مثال : در مثال زیر توسط یک اسکریپت ساده ابتدا به پنجره جاری که درون آن هستیم اشاره کرده و سپس آدرس کامل آن را توسط خاصیت location در خروجی چاپ کرده ایم :

Example

<script type ="text/javascript">
  document.write ( window.self.location ) ;
</script>

کد

 

خاصیت status  :

این خاصیت متنی که در نوار Statusbar پنجره مروگر نمایش داده می شود را تعیین و نگهداری می کند . نوار Statusbar در پایین پنجره مرورگر قرار دارد و معمولا برای اطلاع رسانی عملکرد مرورگر به کاربر ، از آن استفاده می شود .
عملکرد این خاصیت کاملا شبیه خاصیت defaultStatus است ، با این تفاوت که خاصیت defaultStatus معمولا برای تعیین یک متن پیش فرض برای statusBar به کار می رود و در هنگام لود شدن صفحه آن متن در statusbar نمایش داده می شود . ولی متنی که برای خاصیت status تعیین می شود در هنگام لود صفحه و اجرای تازه آن ، در statusbar نمایش داده نمی شود .

Syntax

window.status = " متن مورد نظر "
* window = نام پنجره مورد نظر

مثال : در مثال زیر یک کادر متن ( TextBox ) ساده و یک دکمه فرمان را برای تعیین متن نوار StatusBar بر روی فرم قرار داده ایم . نحوه عمکرد این مثال به این صورت است که کاربر بایستی متنی را در درون کادر متن وارد کرده و سپس بر روی دکمه فرمان change statusbar Text کلیک نماید . در این صورت تابع show_msg اجرا شده و متن نوار StatusBar را به متن وارد شده از کاربر تغییر خواهد داد :
نکته : خاصیت self در مثال زیر به پنجره جاری که هم اکنون در آن هستیم اشاره می کند .

Example

<script type ="text/javascript">
<input type="text" id="TxtMsg" size="25" />
<input type="button" id="BtnMsg" value="change statusbar Text" onclick="show_msg( )" />

  function show_msg ( )
    {
      TxtMsg = document.getElementById ( "TxtMsg" );
      var Msg = TxtMsg.value ;
      window.self.status = Msg ;
    }
</script>

کد

خاصیت top :

این خاصیت به بالاترین پنجره یا پنجره مادر پنجره جاری ، اشاره می کند .

Syntax

window.top

 

 

 

شی مرورگر navigator در جاوا اسکریپت

شی مرورگر ( navigator ) در جاوا اسکریپت :

شی Navigator ، حاوی اطلاعاتی راجع به نوع مرورگر مورد استفاده کاربر است . این اطلاعات درباره مرورگری است ، که کاربر در آن لحظه در حال مشاهده صفحه با آن می باشد . این شی حاوی اطلاعاتی همچون نام مرورگر مورد استفاده ، نسخه ( ورژن ) ، زبان مورد استفاده مرورگر و ... می باشد . این اطلاعات در موارد مختلفی می تواند مورد استفاده قرار بگیرد ، که در ادامه به معرفی آنها خواهیم پرداخت .
این شی توسط واژه کلیدی navigator در سطح برنامه های اسکریپتی شناخته شده و حالت کلی استفاده آن به صورت زیر است :

Syntax

navigator.نام خاصیت

در ادامه به معرفی و تشریح خواص و رویدادهای مهم و پر کاربرد این شی در Java Script می پردازم .

تشخیص نوع مرورگر با استفاده از شی navigator :

یکی از مهمترین کاربردهای شی navigator در جاوا اسکریپت ، تشخیص نوع مرورگر مورد استفاده کاربر در هنگام مشاهده صفحه و نسخه ( ورژن ) آن است . این مسئله در چند مورد کاربرد دارد ، که به یکی از آنها اشاره می کنم .
مرورگر های وب و همچنین زبان های برنامه نویسی وب از جمله زبان اسکریپتی Java Script در طول زمان تغییرات زیادی داشته اند و ممکن است برخی از مرورگرها و یا یک ورژن خاص آنها از برخی از دستورات Java Script به درستی پشتیبانی نکنند . بنابراین یک طراح وب حرفه ای باید این مسئله را مد نظر داشته و برای آن تدابیر لازم را اتخاد کند . برای مثال ممکن است یک اسکریپت در مرورگر 6 IE به صورت صحیح اجرا شود ، ولی در مرورگر 5 IE به صورت صحیح اجرا نشود و یا مثلا مرورگر FireFox از یکسری دستورات خاص پشتیبانی نکند ، در حالی که همان کد در IE به صورت صحیح اجرا شود . موارد اختلاف کارایی زیادی بین مرورگرها وجود دارد و باید همواره این نکته را به خاطر داشته باشید .
در این صورت باید طراح در زمان نوشتن اسکریپت هایی که امکان بروز خطا ، عدم پشتیبانی و یا پشتیبانی نادرست در آنها وجود دارد ، دستورات متناسب با هر نوع مرورگر خاص را در اسکریپت تعیین کرده و با استفاده از دستورات شرطی و یا دستور Switch ، پس از تشخیص نوع مرورگر و ورژن آن ، دستورات مرتبط با آن نوع مرورگر خاص اجرا شود . در این حالت ، سازگاری برنامه با انواع دستورات اسکریپتی تضمین می شود .
خاصیت appName و appVersion شی Navigator ، به ترتیب نام و ورژن مرورگر مورد استفاده را مشخص می کنند . در بخش زیر خواص مهم شی Navigator را نشان داده ایم .

خواص مهم شی navigator :

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

نام خاصیت

شرح

appCodeName

این خاصیت نام تعیین شده ویژه ( اسم رمز ) مربوط به نسخه مرورگر مورد استفاده را بر می گرداند . مثال : مثلا نام ویژه نسخه Mozilla ، IE7 است .

appName

این خاصیت نام کامل مرورگر مورد استفاده را بر می گرداند .

appVersion

این خاصیت پلتفرم و ورژن مرورگر مورد استفاده را بر می گرداند .

browserLanguage

این خاصیت زبان مرورگر مورد استفاده را بر می گرداند .

cookieEnabled

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

cpuClass

این خاصیت کلاس CPU مورد استفاده در کامپیوتر کاربر استفاده کننده از مرورگر را بر می گرداند .

onLine

این خاصیت یک مقدار Boolen را بر می گرداند ، که مشخص می کند آیا مرورگر در حالت OnLine است یا خیر .

platform

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

SystemLanguage

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

 

شی Navigator - خاصیت appName

این خاصیت ، نام کامل مرورگر مورد استفاده را بر می گرداند . همانطور که در قسمت معرفی شی Navigator اشاره کردم ، مهمترین کاربرد این خاصیت تشخیص نوع مرورگر است . تشخیص نوع مرورگر می تواند کاربردهای زیادی داشته باشد ، که به برخی از آنها اشاره خواهم کرد .
مرورگر های وب و همچنین زبان های برنامه نویسی وب از جمله زبان اسکریپتی Java Script در طول زمان تغییرات زیادی داشته اند و ممکن است برخی از مرورگرها و یا یک ورژن خاص آنها از برخی از دستورات Java Script به درستی پشتیبانی نکنند . بنابراین یک طراح وب حرفه ای باید این مسئله را مد نظر داشته و برای آن تدابیر لازم را اتخاد کند . برای مثال ممکن است یک اسکریپت در مرورگر 6 IE به صورت صحیح اجرا شود ، ولی در مرورگر 5 IE به صورت صحیح اجرا نشود و یا مثلا مرورگر FireFox از یکسری دستورات خاص پشتیبانی نکند ، در حالی که همان کد در IE به صورت صحیح اجرا شود . موارد اختلاف کارایی زیادی بین مرورگرها وجود دارد و باید همواره این نکته را به خاطر داشته باشید .
در این صورت باید طراح در زمان نوشتن اسکریپت هایی که امکان بروز خطا ، عدم پشتیبانی و یا پشتیبانی نادرست در آنها وجود دارد ، دستورات متناسب با هر نوع مرورگر خاص را در اسکریپت تعیین کرده و با استفاده از دستورات شرطی و یا دستور Switch ، پس از تشخیص نوع مرورگر و ورژن آن ، دستورات مرتبط با آن نوع مرورگر خاص اجرا شود . در این حالت ، سازگاری برنامه با انواع دستورات اسکریپتی تضمین می شود .
از دیگر کاربردهای تشخیص نوع مرورگر می توان به نصب کردن برنامه های کاربردی ( Plug In ) مثل Flash Palyer یا Real Player بر روی مرورگر اشاره کرد . ممکن است یک سایت دانلود این برنامه ها ، نسخه های متفاوتی از یک نرم افزار را برای نصب بر روی مرورگر های مختلف تولید کرده باشد ، که برای هر مرورگر باید نسخه متناسب را نصب کرد . در این صورت سایت مذکور می تواند با تشخیص نوع مرورگر شما ، نسخه مخصوص به آن مرورگر را برای نصب در اختیار شما قرار بدهد ، تا در این صورت مشکل عدم کارایی نرم افزار پیش نیاید و کاربردهای دیگر .

شکل کلی استفاده از این خاصیت به صورت زیر است :

Syntax

navigator.appName

نکته : خروجی این خاصیت یک مقدار رشته ای ( String ) است .

مثال 1 : در مثال زیر با استفاده از خاصیت appName ، نام کامل مرورگر مورد استفاده کاربر را نشان داده ایم . نام نمایش داده شده در خروجی بستگی به مرورگری دارد که شما هم اکنون ، در حال مشاهده صفحه با آن هستید ( به دلیل اینکه خروجی های مثال ها به صورت اکتیو توسط مرورگر تولید می شود و از قبل طراحی شده نیست ) :

Example

<script type ="text/javascript">
  document.write ( "Full name of your browser is "   +   navigator.appName ) ;
</script>

کد

مثال 2 : کاربرد تشخیص نوع مرورگر :
در مثال زیر با استفاده از یک اسکریپت ، ابتدا نوع مرورگر را تشخیص داده و بر حسب مقدار آن ، در یک دستور Switch ، کد قابل اجرا بر 3 مرورگر Firefox , Oprer و IE را تعیین کرده ایم . در این اسکریپت ابتدا برنامه نوع مرورگر مورد استفاده کاربر را توسط خاصیت appName شی Navigator تشخیص داده و بر حسب آن دستور مناسب را اجرا خواهد کرد . نتیجه خروجی بستگی به مرورگری دارد که شما هم اکنون ، در حال مشاهده صفحه با آن هستید .
راهنمایی : خاصیت systemLanguge یکی از خواص شی Navoigator است ، که در ادامه آن را به طور کامل تر توضیح می دهم . این خاصیت زبان سیستم عامل کامپیوتر اجرا کننده مرورگر را بر می گرداند . اما این خاصیت فقط توسط مرورگر Intenet Explorer پشتیبانی شده و مرورگرهای Opera و FireFox از آن پشتیبانی نمی کنند . در اسکریپت زیر ، هدف این است که فقط زمانی که کاربر با مرورگر IE صفحه را مشاهده می کند ، زبان سیستم عامل را ببیند و در صورتی که از مرورگر های Firefox یا Opera استفاده می کند ، پیام عدم پشتیبانی مرورگر از آن دستور را اعلام کند .
راهنمایی 2 : نام مرورگر Firefox توسط خاصیت appName واژه Netscape است .

Example

<script type ="text/javascript">
switch ( navigator.appName )
  {
    case " Microsoft Internet Explorer " :
      document.write ( navigator.systemLanguage ) ;
      break;
    case " Netscape " :
      document.write ( " Your Browser Dosen't Support navigator.systemLanguage Property ! ") ;
      break ;
    case " Opera " :
      document.write ( " Your Browser Dosen't Support navigator.systemLanguage Property ! " ) ;
  }
</script>

کد

 

شی Navigator - خاصیت های appCodeName و appVersion

این خاصیت نام ویژه ( نام کد ) مرورگر مورد استفاده را بر می گرداند .
نام کد ، نامی خاص است که از سوی شرکت سازنده برای نام گذاری و مشخص کردن یک ورژن از مرورگر تعیین می شود . این نام بیشتر یک اصطلاح عامیانه است و کاربرد خاصی ندارد . مثلا نام ویژه مرورگرهای Mozilla , Internet Explorer است . شکل کلی استفاده از این خاصیت به صورت زیر است :

Syntax

navigator.appCodeName

نکته : خروجی این خاصیت یک مقدار رشته ای ( String ) است .

مثال 1 : در مثال زیر با استفاده از خاصیت appCodeName ، نام کد مرورگر مورد استفاده کاربر را نشان داده ایم . نام نمایش داده شده در خروجی بستگی به مرورگری دارد که شما هم اکنون ، در حال مشاهده صفحه با آن هستید ( به دلیل اینکه خروجی های مثال ها به صورت اکتیو توسط مرورگر تولید می شود و از قبل طراحی شده نیست  :(

Example

<script type ="text/javascript">
  document.write ( "Code name of your browser is "   +   navigator.appCodeName ) ;
</script>

کد

 

خاصیت appVersion شی Navigator  ورژن مرورگر:

این خاصیت ، ورژن و پلتفرم کامل مرورگر مورد استفاده را بر می گرداند . پلتفرم شامل اطلاعاتی از جمله سیست عامل سازگار با مرورگر ، زبان مورد استفاده و ... می باشد .
همانند بخش قبل که در مورد خاصیت appName ( نام مرورگر ) ، اشاره کردم ، تعیین نوع و ورژن مرورگر می تواند کاربرهای مختلفی داشته باشد . در ادامه به 2 خاصیت این روش اشاره می کنم .
مرورگر های وب و همچنین زبان های برنامه نویسی وب از جمله زبان اسکریپتی Java Script در طول زمان تغییرات زیادی داشته اند و ممکن است برخی از مرورگرها و یا یک ورژن خاص آنها از برخی از دستورات Java Script به درستی پشتیبانی نکنند . بنابراین یک طراح وب حرفه ای باید این مسئله را مد نظر داشته و برای آن تدابیر لازم را اتخاد کند . برای مثال ممکن است یک اسکریپت در مرورگر 6 IE به صورت صحیح اجرا شود ، ولی در مرورگر 5 IE به صورت صحیح اجرا نشود و یا مثلا مرورگر FireFox از یکسری دستورات خاص پشتیبانی نکند ، در حالی که همان کد در IE به صورت صحیح اجرا شود . موارد اختلاف کارایی زیادی بین مرورگرها وجود دارد و باید همواره این نکته را به خاطر داشته باشید .
در این صورت باید طراح در زمان نوشتن اسکریپت هایی که امکان بروز خطا ، عدم پشتیبانی و یا پشتیبانی نادرست در آنها وجود دارد ، دستورات متناسب با هر نوع مرورگر خاص را در اسکریپت تعیین کرده و با استفاده از دستورات شرطی و یا دستور Switch ، پس از تشخیص نوع مرورگر و ورژن آن ، دستورات مرتبط با آن نوع مرورگر خاص اجرا شود . در این حالت ، سازگاری برنامه با انواع دستورات اسکریپتی تضمین می شود .
از دیگر کاربردهای تشخیص نوع و ورژن مرورگر می توان به نصب کردن برنامه های کاربردی ( Plug In ) مثل Flash Palyer یا Real Player بر روی مرورگر اشاره کرد . ممکن است یک سایت دانلود این برنامه ها ، نسخه های متفاوتی از یک نرم افزار را برای نصب بر روی مرورگر های مختلف تولید کرده باشد ، که برای هر مرورگر باید نسخه متناسب را نصب کرد . در این صورت سایت مذکور می تواند با تشخیص نوع مرورگر شما ، نسخه مخصوص به آن مرورگر را برای نصب در اختیار شما قرار بدهد ، تا در این صورت مشکل عدم کارایی نرم افزار پیش نیاید و کاربردهای دیگر .

شکل کلی استفاده از این خاصیت به صورت زیر است :

Syntax

navigator.appVersion

نکته : خروجی این خاصیت یک مقدار رشته ای ( String ) است .

مثال 1 : در مثال زیر با استفاده از خاصیت appVersion ، ورژن کامل مرورگر مورد استفاده کاربر را نشان داده ایم . ورژن نمایش داده شده در خروجی بستگی به مرورگری دارد که شما هم اکنون ، در حال مشاهده صفحه با آن هستید ( به دلیل اینکه خروجی های مثال ها به صورت اکتیو توسط مرورگر تولید می شود و از قبل طراحی شده نیست  :

Example

<script type ="text/javascript">
  document.write ( "Full Version of your browser is "   +   navigator.appVersion ) ;
</script>

کد

 

خاصیت cookieEnabled :

این خاصیت یک مقدار Boolen  نوع True یا False  را بر می گرداند ، که تعیین می کند آیا قابلیت ایجاد و خواندن کوکی ( cookie ) در مرورگر شما فعال است یا خیر .
کوکی ( cookie ) متغیری است که بر روی کامپیوتر کاربر ذخیره شده و هر بار که کاربر آن صفحه را باز کند ، مقدار آن توسط مرورگر خوانده شده و می تواند مورد استفاده قرار بگیرد . از کوکی ها معمولا برای ثبت و ذخیره کردن اطلاعاتی همچون نام کاربری و رمز ورود به سایت ها و سایر اطلاعات شخصی کاربران استفاده می شود . در بخش های بعدی به طور کامل تر به بحث درباره نحوه ایجاد و خواندن کوکی ها خواهیم پرداخت .
شکل کلی استفاده از این خاصیت به شرح زیر است :

Syntax

navigator.cookieEnabled

نکته : خروجی این خاصیت یک مقدار Boolen ( نوع True یا False ) است . اگر مقدار بازگشتی True باشد ، مرورگر قابلیت ایجاد و خواندن کوکی را داراست و در صورت برگشت مقدار False ، آن قابلیت را نداشته و یا قابلیت غیر فعال شده است .

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

Example

<script type ="text/javascript">
  if ( navigator.cookieEnabled == true )
    document.write ( " cookie is < b > Enabled < /b > in your browser " ) ;
  else if ( navigator.cookieEnabled == false )
    document.write ( " cookie is < b > Not Enabled < /b > in your browser " );
</script>

کد

 

کاربرد خاصیت cookieEnabled :

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

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

Example

<script type ="text/javascript">
  if ( navigator.cookieEnabled == true )
  {
     function setCookie(c_name,value,expiredays)
     {
      var exdate=new Date()exdate.setDate(exdate.getDate()+expiredays)
      document.cookie=c_name+ "=" +escape(value)+
      ((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
    }
  }
  else if ( navigator.cookieEnabled == false )
    document.write ( " cookie is < b > Not Enabled < /b > in your browser " );
</script>


خاصیت browserLanguage  زبان مرورگر:

این خاصیت زبان پیش فرض و مورد استفاده مرورگر را بر می گرداند .
برای مثال مقدار این خاصیت در زبان انگلیسی ( آمریکا ( en-us و برای زبان فارسی fa است .
شکل کلی استفاده از این خاصیت به شرح زیر است :

Syntax

navigator.browserLanguage

نکته : خروجی این خاصیت یک مقدار رشته ای ( String ) است .

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

Example

<script type ="text/javascript">
  document.write ( "Default language of your browser is "   +   navigator.browserLanguage ) ;
</script>

کد

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

Example

<script type ="text/javascript">
  if ( navigator.browserLanguage == "en-us" )
    document.write ( " welcome to Gharbnet.ir " ) ;
  else if ( navigator.browserLanguage == " fa " )
    document.write ( "
به سایت Gharbnet.ir خوش آمدید . " );
</script>

کد

 

خاصیت systemLanguage  زبان سیستم عامل مرورگر:

این خاصیت زبان پیش فرض و مورد استفاده سیستم عامل اجرا کننده مرورگر را بر می گرداند .
برای مثال مقدار این خاصیت در زبان انگلیسی ( آمریکا ) en-us و برای زبان فارسی fa است .
شکل کلی استفاده از این خاصیت به شرح زیر است :

Syntax

navigator.systemLanguage

نکته : خروجی این خاصیت یک مقدار رشته ای ( String ) است .

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

Example

<script type ="text/javascript">
  document.write ( "Default oprating system language of your browser is "   +   navigator.systemLanguage ) ;
</script>

کد

 

خاصیت onLineوضعیت مرورگر :

این خاصیت یک مقدار Boolen  نوع true یا false  را برمی گرداند ، که تعیین می کند که آیا سیستم عامل مرورگر به اینترنت متصل است و یا در حالت offline قرار دارد .
حالت offline : مرورگرهای جدید از جمله ورژن های 4 IE و بالاتر دارای قابلیتی به نام work offline هستند . بر حسب این قابلیت کاربر می تواند بدون اتصال به شبکه اینترنت ، صفحات وبی که بر روی هارد دیسک کامپیوتر خود ذخیره کرده و یا در history مرورگر قرار دارند ، را باز و مشاهده کرده و بین صفحات حرکت کند . در این حالت می گویند که سیستم در حالت offline قرار دارد .
در مرورگر IE شما می توانید از طریق منوی Standard و زیر منوی Tools ، گزینه work offline را انتخاب کنید تا مرورگر در حالت offline قرار بگیرد . در حالت offline چنانچه بخواهید صفحه جدیدی که ذخیره نشده را باز کنید ، مرورگر به شما پیام می دهد که باید به اینترنت متصل شوید .
شکل کلی استفاده از این خاصیت به شرح زیر است :

Syntax

navigator.onLine

نکته : خروجی این خاصیت یک مقدار Boolen ( نوع true یا false ) است . مفهوم خروجی این خاصیت یکی از 2 حالت زیر را می تواند داشته باشد :

خروجی های خاصیت onLine

خروجی

وضعیت مرورگر

شرح

true

online

مرورگر به اینترنت متصل است .

false

offline

مرورگر در حالت work offline قرار داشته و به اینترنت متصل نیست .

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

Example

<script type ="text/javascript">
  if ( navigator.onLine == true )
    document.write ( " You navigator is in online mode " )
  else
    document.write( " You navigator is in offline mode " )
</script>

کد

 

خاصیت cpuClass  نوع CPU کامپیوتر مرورگر:

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

Syntax

navigator.cpuClass

نکته : خروجی این خاصیت یک مقدار رشته ای ( String ) است .
به طور کلی 2 کلاس برای CPU ها داریم ، که خروجی این خاصیت می تواند یکی از 2 مقدار زیر باشد :

خروجی های خاصیت cpuClass

خروجی

کلاس CPU

شرح

x86

X86

کلاس CPU کامپیوتر اجرا کننده مرورگر X86 است .

Alpha

Alpha

کلاس CPU کامپیوتر اجرا کننده مرورگر Alpha است .

مثال 1 : در مثال زیر با استفاده از خاصیت cpuClass ، کلاس کامپیوتر شما را نمایش داده ایم . کلاس CPU کامپیوتر شما چیشت ؟؟!

Example

<script type ="text/javascript">
document.write ( navigator.cpuClass )
</script>

کد

undefinedundefined

خروجی

 

شی RegExp در جاوا اسکریپت

شی ( RegExp ) در جاوا اسکریپت :

یکی از مهمترین نیازها و کارهایی که ممکن است در یک صفحه وب بخواهید انجام دهید ، جستجو برای کلمات یا عبارت خاص در متن صفحه است . فرض کنید که در یک صفحه وب می خواهید به دنبال واژه CSS بپردازید و ببینید آیا این کلمه در صفحه وجود دارد یا خیر .
شی RegExp به طراح امکان ایجاد کدها و ساختارهایی را برای جستجو دنبال کلمات و عبارات در صفحات وب را می دهد .
RegExp
مخفف عبارت Regular Expression است . RegExp شی است که یک الگو از کاراکترها را تعیین می کند . یک الگو ساده می تواند فقط یک کاراکتر باشد و الگوهای پیچیده تر ، شامل تعداد بیشتری کاراکتر هستند .
نتیجه گیری : شی RegExp برای انجام عملیات جستجو برای کلمات و یا کاراکترهای مورد نظر در متن یک صفحه استفاده می شود .
شکل کلی تعریف و استفاده از یک شی RegExp در جاوا اسکریپت به صورت زیر است :

Syntax

var patt = new RegExp ( pattern , modifiers ) ;
یا به صورت ساده شده :
var patt = /pattern/modifiers ;

اما کد بالا چه مفهومی داشته و طرز استفاده از آن به چه صورت است ؟
برای توضیح آن ، هر یک از کلمات موجود در کد را توضیح داده ام .

syntax توضیح هر یک از موارد

توضیح

کلمه

یک نام دلخواه است که برای شی خودمان از نوع RegExp تعیین کرده ایم . مثل یه نام برای هر نوع متغیر دیگر .

patt

نام متد یا تابعی است که یک نمونه جدید از شی RegExp را ایجاد می نماید .

new RegExp

pattern الگو کاراکترها ، یا همان عبارتی است که در متن می خواهیم به دنبال آن بگردیم . این الگو می توانید شامل یک کاراکتر بوده و یا یک کلمه و عبارت باشد .

pattern

modifiers یک کاراکتر است که تعیین می کند عملیات جستجو به چه صورت انجام شود . مثلا چنانچه در این قسمت کاراکتر i را قرار دهیم ، عملیات جستجو به صورت case sensetive ( حساس به حروف بزرگ و کوچک ) انجام می شود .

modifiers

جند مثال برای آشنایی با کارکرد RegExp :

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

مثال 1 : جستجو برای یک عبارت یک کلمه خاص در یک متن .
در مثال اول یک متغیر متنی به نام Str1 تعریف کرده ایم که شامل یک متن است . به وسیله ساخت و به کار گیری یک شی RegExp در درون این متغیر به دنبال واژه Gharbnet پرداخته ایم . کد مثال به دنبال این کلمه در متغیر Str1 پرداخته و سپس آن را در خروجی نمایش داده است :

< script type="text/javascript" >
  var Str1 = "Welcome to Gharbnet1.ir";
  var patt1 = /Gharbnet/i;
  document.write(Str1.match(patt1));
< /script >

کد

مثال 2 : جستجو برای یک عبارت یک کلمه خاص در یک متن و یافتن موارد تکراری.
در مثال دوم یک متن طولانی تر را در متغیر خودمان قرار داده ایم . در این عبارت ، به دنباب کلمه is پرداخته ایم. این کلمه در متن چند بار تکرار شده است . بنابراین با به کار بردن یک Modifire از نوع g در شی RegExp ، باعث شده ایم تا شی نمونه های تکراری را یافته و همه آنها را نمایش دهد :
نکته مهم : توجه داشته باشید به دلیل اینکه از Modifire نوع i در این مثال استفاده نکرده ایم ، مورد اول تکرار Is ، به حساب نیامده و در خروجی نمایش داده نشده است . در مثال سوم Modifire نوع i را نیز به کار برده ایم . خروجی ها را با هم مقایسه نمایید .

< script type="text/javascript" >
  var Str2 = "Is more than one is in this ?";
  var patt2 = /is/g;
  document.write(Str2.match(patt2));
< /script >

کد

 

مثال شماره 3 : استفاده همزمان از دو Modifire نوع i , g

< script type="text/javascript" >
  var Str3 = "Is more than one is in this ?";
  var patt3 = /is/gi;
  document.write(Str3.match(patt3));
< /script >

کد

 

شی Math در جاوا اسکریپت


شی ( Math ) در جاوا اسکریپت :

از شی Math در جاوا اسکریپت برای انجام امور ریاضی استفاده می شود . این شی شامل تعداد زیادی متد و تابع برای انجام کارهای ریاضی می باشد . همچنین اینن شی دارای تعداد ثابت عددی مثل عدد P است که می توانید از آنها در محاسبات خود استفاده نمایید .
شکل کلی تعریف و استفاده از یک ثابت عددی یا متد شی Math در جاوا اسکریپت به صورت زیر است :

Syntax

Math.نام ثابت عددی ;
یا
Math.نام متد ( ) ;
مثال :   var MyNum = Math.PI ; // عدد پی ( 3.14 ) را به متغیر نسبت می دهد .
مثال :   var MyNum = Math.sqrt(9) ; // جزر عدد داخل پرانتز را حساب کرده و به متغیر نسبت می دهد

 

ثابت های عددی شی Math  :

همانطور که اشاره شد شی Math ، دارای تعدادی ثابت عددی مثل عدد P است که از آنها می توانید در انجام امور ریاضی و محاسبات خود استفاده نمایید . در لیست زیر این ثابت ها قرار داده شده اند . برای دریافت توضیحات بیشتر و مثال های عملی بر روی نام هر ثابت کلیک نمایید :

ثابت عددی

مقدار حدودی

کاربرد

E

2.718

این ثابت عددی مقدار عدد حقیقی e را بر می گرداند .

LN2

0.693

این ثابت عددی ، مقدار لگاریتم طبیعی 2 را بر می گرداند .

LN10

2.302

این ثابت عددی ، مقدار لگاریتم طبیعی 10 را بر می گرداند .

LOG2E

1.442

این ثابت عددی ، مقدار لگاریتم عدد e را بر مبنای 2 بر می گرداند .

LOG10E

0.434

این ثابت عددی ، مقدار لگاریتم عدد e را بر مبنای 10 بر می گرداند .

PI

3.14

این ثابت عددی ، مقدار عدد P را بر می گرداند .

 

متدها و تابع های عددی شی Math :

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

نام تابع

کاربرد

abs ( x )

این تابع قدر مطلق عددی x را بر می گرداند .

acos ( x )

این تابع آرک کوسینوس عدد x را بر می گرداند .

asin ( x )

این تابع آرک سینوس عدد x را بر می گرداند .

atan ( x )

این تابع آرک تانژانت عدد x را بر می گرداند .

ceil ( x )

این تابع عدد x رو به بالا گرد کرده و نزدیک ترین عدد صحیح بدان را بر می گرداند .

cos(x)

این تابع کوسینوس x را بر می گرداند .

exp(x)

این تابع مقدار عدد e به توان x را بر می گرداند .

floor(x)

این تابع عدد x را رو به پایین گرد کرده و نزدیک ترین عدد صحیح بدان را بر می گرداند .

log(x)

این تابع لگاریتم x را بر مبنای عدد e بر می گرداند .

max(a,b, .. ,x,y,z)

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

min(a,b, .. ,x,y,z)

این تابع کوچکترین عددی را که به عنوان پارامتر به آن ارسال شده است را بر می گرداند .

pow(a,b)

این تابع عدد a را به توان b رسانده و نتیجه را بر می گرداند .

random()

این تابع یک عدد تصادفی بین 0 و 1 را انتخاب کرده و به عنوان خروجی بر می گرداند .

round(x)

این تابع عدد x را گرد کرده و به نزدیکترین عدد صحیح بدان تبدیل می کند .

sin(x)

این تابع مقدار سینوس x را بر می گرداند .

tan(x)

این تابع مقدار تانژانت x را بر می گرداند .

 

ثابت های عددی شی  : Math

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

ثابت عددی E :

این ثابت عددی مقدار عدد طبیعی e را بر می گرداند . e یک عدد حقیقی یکتاست، به طوری که مقدار مشتق تابع f ( x ) = e x در نقطهٔ x = 0 برابر  1 می شود.
مقدار تقریبی این عدد برابر با 2.718 است . در مثال زیر شکل استفاده از این ثابت عددی را نمایش داده ایم :

Example

<script type = " text/javascript " >
  document.write ( Math.E ) ;
</script>

کد

 

ثابت عددی LN2 :

این ثابت عددی مقدار لگاریتم طبیعی عدد 2 را بر می گرداند . مقدار حدودی این ثابت عددی برابر 0.693 است .
در مثال زیر شکل استفاده از این ثابت عددی را نمایش داده ایم :

Example

<script type = " text/javascript " >
  document.write ( Math.LN2 ) ;
</script>

کد

 

ثابت عددی LN10 :

این ثابت عددی مقدار لگاریتم طبیعی عدد 10 را بر می گرداند . مقدار حدودی این ثابت عددی برابر 2.302 است .
در مثال زیر شکل استفاده از این ثابت عددی را نمایش داده ایم :

Example

<script type = " text/javascript " >
  document.write ( Math.LN10 ) ;
</script>

کد

ثابت عددی: LOG2E

این ثابت عددی مقدار لگاریتم طبیعی عدد e را بر مبنای 2 بر می گرداند . مقدار حدودی این ثابت عددی برابر 1.442 است .
در مثال زیر شکل استفاده از این ثابت عددی را نمایش داده ایم :

Example

<script type = " text/javascript " >
  document.write ( Math.LOG2E ) ;
</script>

کد

 

ثابت عددی LOG10E :

این ثابت عددی مقدار لگاریتم طبیعی عدد e را بر مبنای 10 بر می گرداند . مقدار حدودی این ثابت عددی برابر 0.434 است .
در مثال زیر شکل استفاده از این ثابت عددی را نمایش داده ایم : یم :

Example

<script type = " text/javascript " >
  document.write ( Math.LOG10E ) ;
</script>

کد

 

ثابت عددی PI :

این ثابت عددی همان P معروف دایره بوده و مقدار 3.14 را بر می گرداند .
در مثال زیر شکل استفاده از این ثابت عددی را نمایش داده ایم :

Example

<script type = " text/javascript " >
  document.write ( Math.PI ) ;
</script>

کد

 

شی ( Number ) در جاوا اسکریپت :

در هنگام کار با اسکریپت های جاوا اسکریپت ، به کار با اعداد نیاز داریم . جاوا اسکریپت بر خلاف سایر زبان های برنامه نویسی معمول ، یک زبان با انواع داده ای خاص نیست . یعنی چه ؟
برای مثال در زبان C ، انواع داده ای مثل integer , short , long و یا float را برای اعداد داریم . اما در جاوا اسکریپت این گونه نیست و همه اعداد در یک فرمت 64 بیتی  8 بایت  و بر مبنای 10 ذخیره می شوند .
بنابراین در جاوا اسکریپت ، فقط یک نوع داده عددی داریم و برای تعریف آنها نیاز نیست نوع خاص ذکر شود . اعدد می توانند به صورت صحیح و یا اعشاری و ... نوشته و استفاده شوند . شکل کلی تعریف یک عدد در javascript به صورت زیر است :

Syntax

var  مقدار = نام متغیر  ;
مثال ها :
var MyNum = 14 ;
var MyDem = 36.785 ;

 

تعریف اعداد بسیار بزرگ و یا بسیار کوچک :

برای تعریف اعداد بسیار بزرگ و یا بسیار کوچک ، می توانید از نشان علمی e استفاده نمایید . کاربرد آن را در مثال های زیر نمایش داده ایم :

Syntax

var MyNum = 123e5 ;       معادل :    12300000
var MyDem = 123e-5 ;       معادل :      0.00123

شی ( Boolean ) در جاوا اسکریپت :

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

Syntax

var نام متغیر = new Boolean( ) ;
مثال :   var MyBool = new Boolean( ) ;

 

مقدار دهی اولیه یک شی Boolean  :

پس از اینکه یک شی از نوع Boolean را تعریف کردید ، چنانچه مقداری را به آن نبست ندهید ، به صورت پیش فرض دارای مقدار صحیح یا true خواهد بود . اما با نسبت دادن یکی از مقادیر زیر ، می توانید آن را منفی یا false نمایید :

  • 0
  • -0
  • null
  • ""
  • false
  • undefined
  • NaN

نکته : توجه نمایید به کار بردن مقدار "false" اشتباه بوده و باعث مثبت شدن مقدار متغیر می شود . باید بدون " " استفاده شود .

متد شی Boolean  :

در لیست زیر متدهای شی Boolean قرار دارد . برای دریافت اطلاعات بیشتر و مثال های عملی بر روی نام آنها کلیک کنید :

نام متد

کاربرد

toString ( )

این متد مقدار شی Boolean را به متن string تبدیل کرده و آن را به خروجی بر می گرداند .

valueOf ( )

این متد مقدار اولیه شی Boolean را بر می گرداند .

 

 

شی Boolean - متد toString( )  

این متد مقدار یک شی یا متغیر Boolean را به متن ( String ) تبدیل کرده و در خروجی بر می گرداند .
بر حسب مقدار متغیر Boolean خروجی این متد نیز متفاوت خواهد بود . اگر مقدار متغیر مثبت ( true ) باشد ، خروجی آن true و چنانچه مفدار آن منفی ( false ) باشد ، خروجیش false خواهد بود .
شکل کلی استفاده از این متد به صورت زیر است :

Syntax

نام متغیر.toString( ) ;
مثال :   MyBool.toString( ) ;

 

مثال : در مثال زیر دو متغیر از نوع Boolean را تعریف کرده و به هر کدام مقداری متفاوت داده ایم . سپس به وسیله متد toString() ، مقدار آنها را در خروجی چاپ کرده ایم :

Example

<script type = " text/javascript " >
var MyNum1 = new Boolean(1);
var MyNum2 = new Boolean(0);
document.write("
مقدار متغیر 1 = " + MyNum1.toString() + "<br />");
document.write("
مقدار متغیر 2 = " + MyNum2.toString());
</script>

کد