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

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

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

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

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

شی Date  :

از این شی برای دستکاری و کار با تاریخ و زمان استفاده می شود . به طور کلی هر متغیری از نوع تاریخ و زمان نمونه ای از شی Date خواهد بود .

خواص شی Date


نحوه تعریف یک متغیر جدید از نوع Date :

برای تعریف یک متغیر جدید از نوع تاریخ و زمان از تابع Date ، به صورت کلی زیر استفاده می شود :

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

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

مثال : در مثال زیر یک متغیر به نام NowTime را به روش اشاره شده ایجاد و مقدار دهی کرده ایم . سپس به وسیله دستور document.write مقدار آن را بر روی صفحه نمایش داده ایم . این متغیر هر بار که صفحه مجددا بار گذاری شده و یا Refresh می شود ، مقدار آن دوباره به تاریخ و ساعت جاری سیستم Set شده و تغییر می کند . بنابراین مقدار آن ثابت نیست و با هر بار لود شدن صفحه و و اجرای مجدد اسکریت ، ساعت و تاریخ جدید جایگزین مقدار قبلی می شود . برای درک بهتر هر چند لحظه یکبار صفحه را Refresh کرده و به مقدار خروجی دقت کنید :

Example

< script type="text/javascript" >
  var NowTime = new Date ( ) ;
  document.write ( NowTime ) ;
< /script >

کد

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

Example

< script type="text/javascript" >
  var MyDate = new Date ( "12/05/2004" ) ;
  document.write ( MyDate ) ;
< /script >

کد

 

خواص شی Date :

خاصیت constructor  :

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

Syntax

object.constructor
* object = نام شی مورد نظر

مثال : در مثال زیر با استفاده از تابع ( ) Date یک شی MyDate2 جدید به نام txtname ایجاد کرده ایم . به وسیله دستور document.write ، نوع تابع سازنده شی را نشان داده ایم :
نکته : توجه شود شکل صحیح نوشتاری تابع Date با D بزرگ است .

Example

< script type="text/javascript" >
  var MyDate2 = new Date ( ) ;
  document.write ( MyDate2.constructor ) ;
< /script >

کد

 

شی Date :

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

متدهای شی Date :

متدهای شی Date در جدول زیر معرفی شده اند . برای دریافت اطلاعات راجع به هر کدام بر روی نام آن کلیک کنید :

نام متد

شرح

getDate ( )

این متد ، شماره روز جاری در ماه را بر می گرداند .

getDay ( )

این متد ، شماره روز جاری در هفته را بر می گرداند .

getMonth ( )

این متد ، شماره ماه جاری را بر می گرداند .

getYear ( )

این متد ، شماره سال جاری را بر می گرداند .

getFullYear ( )

این متد نیز ، شماره سال جاری را بر می گرداند .

getHours ( )

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

getMinutes ( )

این متد شماره دقیقه را در یک متغیر زمانی بر می گرادند .

getSeconds ( )

این متد شماره ثانیه ها را در یک متغیر زمانی بر می گرادند .

getMilliseconds ( )

این متد شماره میلی ثانیه ها را در یک متغیر زمانی بر می گرادند .

getTime ( )

این متد تعداد ثانیه های سپری شده از تاریخ اول ژانویه سال 1970 تا به امروز را بر می گرداند

getTimezoneOffset ( )

این متد اختلاف زمانی بین زمان جاری سیتسم را با ساعت بین المللی گرینویپچ را بر حسب دقیقه بر می گرداند .

parse ( )

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

setDate ( )

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

setMonth ( )

این متد برای تغییر شماره ماه و تاریخ روز در یک متغیر زمانی استفاده می شود .

setFullYear( )

این متد برای تغییر مقدار سال در یک متغیر زمانی استفاده می شود .

setYear( )

این متد برای تغییر مقدار سال در یک متغیر زمانی استفاده می شود .

setHours( )

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

setMinutes( )

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

setSeconds( )

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

setMilliseconds( )

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

setTime( )

این متد برای محاسبه و ایجاد یک تاریخ جدید ، به وسیله اضافه یا کم کردن تعداد معینی میلی ثانیه به تاریخ اول ژانویه سال 1970 استفاده می شود .

toString( )

از این متد برای تبدیل یک متغیر زمانی به یک عبارت رشته ای استفاده می شود .

 

متد ( ) getDate :

این متد ، شماره روز جاری را در ماه تاریخ متغیر زمانی مورد استفاده را بر می گرداند . برای مثال اگر امروز روز هفدهم ماه جاری باشد ، عدد بازگشتی 17 خواهد بود .

Syntax

DateObject.getDate ( )
* DateObject = متغیر زمانی مورد نظر

مثال : در مثال زیر تاریخ جاری سیستم را توسط تابع () Date در متغیر MyDate ذخیره کرده ایم . سپس توسط متد getDate ، شماره روز جاری را بر روی صفحه نمایش داده ایم :

Example

<script type ="text/javascript">
  var MyDate = new Date ( ) ;
  document.write ( MyDate.getDate ( ) ) ;
</script>

کد

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

Example

<script type ="text/javascript">
  var SomeDate = new Date ( "12/09/2008" ) ;
  document.write ( SomeDate.getDate ( ) ) ;
</script>

کد

 

متد ( ) getDay :

این متد ، شماره روز جاری در هفته را بر می گرداند . خروجی حاصل از این متد عددی بین 0 تا 6 خواهد بود که شماره گذاری روزها از روز یکشنبه به ترتیب از صفر شروع می شود . بنابراین در این متد ، شماره روز یکشنبه 0 ، روز دوشنبه 1 ، روز سه شنبه 2 و الی آخر خواهد بود .

Syntax

DateObject.getDay ( )
* DateObject = متغیر زمانی مورد نظر

مثال : در مثال زیر تاریخ جاری سیستم را توسط تابع () Date در متغیر MyDay ذخیره کرده ایم . سپس توسط متد getDate ، شماره روز جاری را در هفته بر روی صفحه نمایش داده ایم . با توجه به توضیحات فوق ، امروز چه روزی است ؟ ! :

Example

<script type ="text/javascript">
  var MyDay = new Date ( ) ;
  document.write ( MyDay.getDay ( ) ) ;
</script>

کد

مثال 2 : در مثال زیر نیز تاریخ جاری سیستم را در یک متغیر به نام MyDay ذخیره کرده ایم . سپس با یک دستور switch بر حسب مقدار خروجی متد getDay ، نام روز هفته را در خروجی چاپ کرده ایم . حالا امروز چند شنبه است ؟ ! ! :

Example

<script type ="text/javascript">
  var MyDay = new Date ( ) ;
  switch ( MyDay.getDay ( ) )
    {
      case 0 :
        document.write ( "Today is Sunday" ) ;
        break ;
      case 1 :
        document.write ( "Today is Monday" ) ;
        break ;
      case 2 :
        document.write ( "Today is Tuesday" ) ;
        break ;
      case 3 :
        document.write ( "Today is Wednesday" ) ;
      break ;
      case 4 :
        document.write ( "Today is Thursday" ) ;
        break ;
      case 5 :
        document.write ( "Today is Friday" ) ;
        break ;
      case 6 :
        document.write ( "Today is Saturday" ) ;
        break ;
    }
</script>

کد

 

متد ( ) getMonth :

این متد ، شماره ماه جاری در متغیر زمانی را بر می گرداند . خروجی حاصل از این متد عددی بین 0 تا 11 خواهد بود ، که شروع شماره گذاری ماه ها از ماه ژانویه ( January ) است و به ترتیب ادامه می یابد . بنابراین در این متد شماره ماه های میلادی به ترتیب زیر خواهد بود :

1=January , 2 = February , 3 = March و ... .

نکته : در واقع این متد به جای نمایش نام ماه ، یک عدد معین را به جای نام آن بر می گرداند ، که برای نمایش نام واقعی ماه باید ار روش های برنامه نویسی استفاده کرد . به مثال 2 در این قسمت توجه کنید .

Syntax

DateObject.getMonth ( )
* DateObject =
متغیر زمانی مورد نظر

مثال : در مثال زیر تاریخ جاری سیستم را توسط تابع () Date در متغیر MyMonth ذخیره کرده ایم . سپس توسط متد getMonth ، شماره ماه جاری را بر روی صفحه نمایش داده ایم . با توجه به توضیحات فوق ، الان در چه ماهی هستیم ؟ ! :

Example

<script type ="text/javascript">
  var MyMonth = new Date ( ) ;
  document.write ( MyMonth.getMonth ( ) ) ;
</script>

کد

مثال 2 : در مثال زیر نیز تاریخ جاری سیستم را در یک متغیر به نام MyMonth2 ذخیره کرده ایم . سپس با یک دستور switch بر حسب مقدار خروجی متد getDay ، نام ما ه جاری در خروجی چاپ کرده ایم . حالا این ماه چه ماهی است ؟ ! ! :

Example

<script type ="text/javascript">
  var MyMonth2 = new Date ( ) ;
  switch ( MyMonth2.getDay ( ) )
    {
      case 0 :
        document.write ( "We are in January" ) ;
        break ;
      case 1 :
        document.write ( "We are in February" ) ;
        break ;
      case 2 :
        document.write ( "We are in March" ) ;
        break ;
      case 3 :
        document.write ( "We are in April" ) ;
      break ;
      case 4 :
        document.write ( "We are in May" ) ;
        break ;
      case 5 :
        document.write ( "We are in June" ) ;
        break ;
      case 6 :
        document.write ( "We are in July" ) ;
        break ;
      case 7 :
        document.write ( "We are in August" ) ;
        break ;
      case 8 :
        document.write ( "We are in September" ) ;
        break ;
      case 9 :
        document.write ( "We are in October" ) ;
        break ;
      case 10 :
        document.write ( "We are in November" ) ;
        break ;
      case 11 :
        document.write ( "We are in December" ) ;
        break ;
    }
</script>

کد

 

متد ( ) getYear و getFullYear :

این متد ، مقدار سال جاری در متغیر زمانی مورد استفاده را بر می گرداند . مفدار بازگشتی این تابع برای سال های بین 1900 تا 1999 به صورت یک عدد دو رقمی است ، که شامل دو عدد سمت راست سال است . برای سال های قبل از 1900 و بعد از 1999 ، این تابع مقدار سال را به طور کامل بر می گرداند .
نکته : استفاده از این متد به دلیل گذر تاریخ فعلی از سال 1999 ، عملا کمتر شده و چندان کاربرد ندارد . به جای آن از متد جدید ( )
getFullYaer استفاده می شود . از استفاده هر دو تابع مثال زده ایم :

Syntax

DateObject.getYear ( )
* DateObject = متغیر زمانی مورد نظر

مثال : در مثال زیر تاریخ جاری سیستم را توسط تابع () Date در متغیر MyYaer ذخیره کرده ایم . سپس توسط متد getYear ، شماره سال جاری را بر روی صفحه نمایش داده ایم . با توجه به توضیحات فوق ، الان در چه سالی هستیم ؟ ! :

Example

<script type ="text/javascript">
  var MyYear = new Date ( ) ;
  document.write ( MyYear.getYear ( ) ) ;
</script>

کد

مثال : در مثال زیر ابتدا متغیر زمانی MyDate را مقدار دهی کرده ایم و سپس توسط متد ( ) getYear ، مقدار سال آن را در خروجی چاپ کرده ایم

Example

<script type ="text/javascript">
  var MyDate = new Date ( "June 12 , 1996" ) ;
  document.write ( MyDate.getYear ( ) ) ;
</script>

کد

مثال : دراین مثال متغیر زمانی MyDate را با یک تاریخ جدید که مربوط به سال 2007 است ، مجددا مقدار دهی کرده ایم . همانطور که می بینید ، مقدار بازگشتی یک عدد 4 رقمی ( نه 2 رقمی ) است :

Example

<script type ="text/javascript">
  var MyDate = new Date ( "June 12 , 2007" ) ;
  document.write ( MyDate.getYear ( ) ) ;
</script>

کد

متد ( ) getFullYear :

مثال های فوق را با متد getFullYear باز نویسی کرده ایم . بین این متد با متد getYear اختلاف چندانی وجود ندارد . اختلاف اصلی در این است که در متد getFullYear برای کلیه سال ها ( حتی قبل از 1999 ) خروجی به صورت عدد 4 رقمی است :

مثال : در مثال زیر ابتدا متغیر زمانی MyDate را مقدار دهی کرده ایم و سپس توسط متد ( ) getFullYear ، مقدار سال آن را در خروجی چاپ کرده ایم :

Example

<script type ="text/javascript">
  var MyDate = new Date ( "June 12 , 1996" ) ;
  document.write ( MyDate.getFullYear ( ) ) ;
</script>

کد

مثال : دراین مثال متغیر زمانی MyDate را با یک تاریخ جدید که مربوط به سال 2007 است ، مجددا مقدار دهی کرده ایم . همانطور که می بینید ، مقدار بازگشتی یک عدد 4 رقمی ( نه 2 رقمی ) است :

Example

<script type ="text/javascript">
  var MyDate = new Date ( "June 12 , 2007" ) ;
  document.write ( MyDate.getFullYear ( ) ) ;
</script>

کد

متد ( ) getHours :

این متد ساعت کامل ذخیره شده در متغیر زمانی را بر می گرداند . خروجی این تابع عددی بین 0 تا 23 خواهد بود .

Syntax

DateObject.getHours ( )
* DateObject =
متغیر زمانی مورد نظر

مثال : در مثال زیر تاریخ جاری سیستم را توسط تابع () Date در متغیر MyHours ذخیره کرده ایم . سپس توسط متد getHours ، ساعت جاری سیستم را بر روی صفحه نمایش داده ایم . اکنون ساعت چند است ؟ !:

Example

<script type ="text/javascript">
  var MyDate = new Date ( ) ;
  document.write ( MyDate. getHours ( ) ) ;
</script>

کد

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

Example

<script type ="text/javascript">
  var SomeHours = new Date ( " July 13 2007 ,14:27:52 " ) ;
  document.write ( SomeHours.getHours ( ) ) ;
</script>

کد

متد ( ) getMinutes :

این متد ، دقیقه ذخیره شده در متغیر زمانی مورد استفاده را بر می گرداند . خروجی این تابع عددی بین 0 تا 59 است :

Syntax

DateObject.getMinutes ( )
* DateObject = متغیر زمانی مورد نظر

مثال : در مثال زیر تاریخ جاری سیستم را توسط تابع () Date در متغیر MyMinutes ذخیره کرده ایم . سپس توسط متد getMinutes ، دقیقه جاری سیستم را بر روی صفحه نمایش داده ایم :

Example

<script type ="text/javascript">
  var MyMinutes = new Date ( ) ;
  document.write ( MyMinutes. getMinutes ( ) ) ;
</script>

کد

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

Example

<script type ="text/javascript">
  var SomeMinutes = new Date ( " July 13 2007 ,14:27:52 " ) ;
  document.write ( SomeMinutes.getMinutes ( ) ) ;
</script>

کد

متد ( ) getSeconds :

این متد ، ثانیه زمان ذخیره شده در متغیر زمانی را بر می گرداند . خروجی این تابع عددی بین 0 تا 59 خواهد بود :

Syntax

DateObject.getSeconds ( )
* DateObject =
متغیر زمانی مورد نظر

مثال : در مثال زیر تاریخ جاری سیستم را توسط تابع () Date در متغیر MySeconds ذخیره کرده ایم . سپس توسط متد getSeconds ، ثانیه ساعت سیستم را بر روی صفحه نمایش داده ایم .

Example

<script type ="text/javascript">
  var MyDate = new Date ( ) ;
  document.write ( MyDate. getSeconds ( ) ) ;
</script>

کد

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

Example

<script type ="text/javascript">
  var SomeSeconds = new Date ( " July 13 2007 ,14:27:52 " ) ;
  document.write ( SomeSeconds.getSeconds ( ) ) ;
</script>

کد

متد ( ) getMilliseconds :

این متد ، مقدار میلی ثانیه ذخیره شده در متغیر زمانی را برمی گرداند . خروجی این تابع عددی بین 0 تا 999 است :

Syntax

DateObject.getMilliseconds ( )
* DateObject = متغیر زمانی مورد نظر

مثال : در مثال زیر تاریخ جاری سیستم را توسط تابع () Date در متغیر MyMilliseconds ذخیره کرده ایم . سپس توسط متد getMilliseconds ، میلی ثانیه جاری سیستم را بر روی صفحه نمایش داده ایم . با هر بار Refresh کردن صفحه ، این اسکریپت مجددا اجرا شده و مقدار جدید میلی ثانیه را نمایش می دهد :

Example

<script type ="text/javascript">
  var MyMilliseconds = new Date ( ) ;
  document.write ( MyMilliseconds. getMilliseconds ( ) ) ;
</script>

کد

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

Example

<script type ="text/javascript">
  var SomeMilliseconds = new Date ( " July 13 2007 ,14:27:52 " ) ;
  document.write ( SomeMilliseconds.getMilliseconds ( ) ) ;
</script>

کد

متد ( ) getTime :

این متد تعداد میلی ثانیه های سپری شده از زمان اول ژانویه ( January ) سال 1970 تا به امروز را بر می گرداند .
نکته : در صورت استفاده از این متد با یک متغیر زمانی که از قبل توسط برنامه و یا کاربر با مقداری به غیر از تاریخ جاری سیستم ، مقدار دهی شده است ، تعداد میلی ثانیه ها از تاریخ مبدا تا تاریخ آن متغیر در نظر گرفته می شود . به مثال های 1 و 2 دقت کنید :

Syntax

DateObject.getHours ( )
* DateObject = متغیر زمانی مورد نظر

مثال : در مثال زیر تاریخ جاری سیستم را توسط تابع () Date در متغیر HowMany ذخیره کرده ایم . سپس با متد getTime ، تعداد میلی ثانیه های سپری شده از تاریخ اول ژانویه سال 1970 را تا به الآن محاسبه کرده و در خروجی نمایش داده ایم . با هر بار Refresh کردن صفحه ، به دلیل گذشت بیشتر زمان ، تعداد میلی ثانیه ها افزایش می یابند :

Example

<script type ="text/javascript">
  var HowMany = new Date ( ) ;
  document.write ( HowMany. getTime ( ) ) ;
</script>

کد

مثال 2 : همانطور که می دانید ، می توان به یک متغیر زمانی مقداری دلخواه و بدون ارتباط با تاریخ جاری سیستم داد . در این مثال متغیر HowMnay را با یک تاریخ از پیش تعیین شده ، مقدار دهی کرده ایم . سپس با متد getTime ، تعداد میلی ثانیه های سپری شده از تاریخ اول ژانویه سال 1970 را تا تاریخ متغیر محاسبه کرده و در خروجی نمایش داده ایم . توجه شود که در این حالت تاریخ انتها ، تاریخ متغیر در نظر گرفته می شود ، نه تاریخ جاری سیستم :

Example

<script type ="text/javascript">
  var HowMany = new Date ( " July 13 2007 ,14:27:52 " ) ;
  document.write ( HowMany.getTime ( ) ) ;
</script>

کد

 

متد ( ) getTimezoneOffset :

این متد اختلاف زمانی بین زمان محلی ( زمان جاری سیستم کاربر ) با زمان بین المللی به وقت گرینویچ ( GMT ) را بر حسب دقیقه بر می گرداند .
نکته 1 : چنانچه اسکریپتی که شامل متد
getTimezoneOffset است ، در کامپیوتر Server وب و نه در کامپیوتر کاربر اجرا شود ، آنگاه این متد اختلاف بین زمان کامپیوتر Server با وقت بین المللی را بر حسب دقیقه بر می گرداند .
نکته 2 : مقدار بازگشتی این تابع در صورتی که زمان ما عقب تر از زمان بین المللی باشد ، مقداری مثبت و در صورتی که ساعت ما جلوتر از ساعت بین المللی باشد ، مقداری منفی خواهد بود .

Syntax

DateObject.getTimezoneOffset ( )
* DateObject = متغیر زمانی مورد نظر

مثال : در مثال زیر ابتدا تاریخ جاری سیستم را توسط تابع () Date در متغیر RealTime ذخیره کرده و سپس توسط متد getTimeZoneOffset اختلاف آن را با زمان بین المللی محاسبه کرده و در خروجی نمایش داده ایم . اگر شما در ایران باشید ، مقدار این اختلاف زمانی بر حسب ساعت تهران ، 270 - دقیقه ( 3:30 ساعت ) خواهد بود :

Example

<script type ="text/javascript">
  var RealTime = new Date ( ) ;
  document.write ( RealTime. getTimezoneOffset ( ) ) ;
</script>

کد

 

متد ( ) parese :

این متد یک تاریخ را به صورت عبارت رشته ای دریافت کرده و تعداد میلی ثانیه های سپری شده از زمان اول ژانویه ( January ) سال 1970 را تا تاریخ ارائه شده محاسبه کرده و به عنوان خروجی نمایش می دهد .

Syntax

Date.parse ( تاریخ مورد نظر به صورت رشته ای)

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

Example

<script type ="text/javascript">
  var milli = Date.parse ( "July 13 2007 , 12:34:21" ) ;
  document.write ( milli ) ;
</script>

کد

متد ( ) setDate :

این متد برای تغییر دادن مقدار تاریخ روز در یک متغیر زمانی استفاده می شود . برای مثال شما می خواهید که تاریخ روز در یک متغیر زمانی را به 17 تغییر دهید .

Syntax

DateObject.setDate ( day )
* DateObject = متغیر زمانی مورد نظر
* day = مقدار جدید مورد نظر برای تاریخ روز به صورت عددی بین 1 تا 31

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

مثال : در مثال زیر ابتدا متغیر زمانی Mydate مقدار دهی شده است . سپس توسط متد setDate مقدار تاریخ روز آن به یک مقدار جدید تغییر یافته و سپس مقدار جدید در خروجی نمایش داده شده است :

Example

<script type ="text/javascript">
  var MyDate = new Date( "June 22 2003" ) ;
  MyDate.setDate ( 12 ) ;
  document.write ( MyDate ) ;
</script>

کد

 

متد ( ) setMonth :

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

Syntax

DateObject.setMonth ( month , [ day ] )
* DateObject = متغیر زمانی مورد نظر
* month = مقدار جدید مورد نظر برای ماه به صورت عددی بین 0 تا 11 - اجباری
* day = مقدار جدید مورد نظر برای تاریخ روز به صورت عددی بین 1 تا 31 - اختیاری

این متد دو عدد را به عنوان پارامتر ورودی دریافت می کند .
عدد اول که توسط خاصیت
month تعیین می شود ، باید عددی بین 0 تا 11 بوده و باعث تغییر ماه موجود در متغیر زمانی به ماه مورد نظر می شوند . تعیین این پارامتر در متد اجباری است
عدد دوم نیز توسط خاصیت
day تعیین می شود ، باید عددی بین 1 تا 31 بوده و جایگزین مقدار عددی تاریخ روز در متغیر زمانی مورد استفاده می شود . تعیین این پارامتر اختیاری است و می تواند تعیین نشود .
نکته : در جاوا اسکریپت ماه ها با عدد متناظر آنها تعیین می شوند . شماره گذاری ماه ها در جاوا اسکریپت به ترتیب از ماه ژانویه (
January ) و عدد 0 شروع شده و به ترتیب ادامه دارد . در نتیجه شماره ماه ها به صورت زیر خواهد بود :
January = 0 , February = 1 , March =2 , April = 3 و ... .

مثال : در مثال زیر ابتدا متغیر زمانی Mydateمقدار دهی شده است . سپس توسط متد setMonth و تعیین هر دو پارامتر آن ، نام ماه و تاریخ روز آن متغیر تغییر داده شده است و سپس مقدار جدید آن در خروجی چاپ شده است :

Example

<script type ="text/javascript">
  var MyDate = new Date( "June 22 2003" ) ;
  MyDate.setMonth ( 6 , 12 ) ;
  document.write ( MyDate ) ;
</script>

کد

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

Example

<script type ="text/javascript">
  var MyDate = new Date( "June 22 2003" ) ;
  MyDate.setMonth ( 7 ) ;
  document.write ( MyDate ) ;
</script>

کد

 

متد ( ) setFullYear :

این متد برای تغییر دادن مقدار سال در یک متغیر زمانی استفاده می شود . برای مثال شما می خواهید که مقدار سال را در یک متغیر زمانی را از 1997 به 2008 تغییر دهید .

Syntax

DateObject.setFullYear ( year , [ month ] , [ day ] )
* DateObject = متغیر زمانی مورد نظر
* year = مقدار جدید مورد نظر برای سال به صورت یک عدد چهار رقمی - اجباری
* month = مقدار جدید مورد نظر برای ماه به صورت عددی بین 0 تا 11 - اختیاری
* day = مقدار جدید مورد نظر برای تاریخ روز به صورت عددی بین 1 تا 31 - اختیاری

این متد 1 پارامتر اجباری و 2 پارامتر اختیاری دارد .
عدد اول که توسط خاصیت
year تعیین می شود ، باید عددی 4 رقمی بوده و تعیین کننده مقدار جدید سال در متغیر زمانی مورد استفاده است . تعیین این پارامتر اجباری است .
عدد دوم که توسط خاصیت
month تعیین می شود ، باید عددی بین 0 تا 11 بوده و تعیین کننده مقدار جدید ماه در متغیر زمانی مورد استفاده است . تعیین این پارامتر اختیاری بوده و می تواند تعیین نشود .
عدد سوم که توسط خاصیت
day تعیین می شود ، باید عددی بین 1 تا 31 بوده و تعیین کننده مقدار جدید تاریخ روز در متغیر زمانی مورد استفاده است . تعیین این پارامتر اختیاری بوده و می تواند تعیین نشود .

مثال : در مثال زیر ابتدا متغیر زمانی Mydate مقدار دهی شده است . سپس توسط متد setDate مقدار سال آن به یک مقدار جدید تغییر یافته و سپس مقدار جدید در خروجی نمایش داده شده است . در این مثال فقط پارامتر year در متد مقدار دهی شده و بقیه پارامترها مقدار دهی نشده اند . بنابراین مقدار آنها نیز ثابت مانده است:

Example

<script type ="text/javascript">
  var MyDate = new Date( "June 22 2003" ) ;
  MyDate.setFullYear ( 2008 ) ;
  document.write ( MyDate ) ;
</script>

کد

 

متد ( ) setYear :

این متد برای تغییر دادن مقدار سال در یک متغیر زمانی استفاده می شود . برای مثال شما می خواهید که مقدار سال را در یک متغیر زمانی را از 1997 به 2008 تغییر دهید . عملکرد این متد کاملا شبیه متد setFullYear است ، ولی کابرد آن بیشتر برای تاریخ های قبل از سال 2000 است و به جای آن بیشتر از متد setFullYear استفاده می شود .
تفاوت اصلی این متد با متد
setFullYear در 2 مسئله است :

  1. این متد فقط دارای یک پارامتر برای دریافت مقدار جدید سال است و نمی توان مقدار ماه یا روز را درآن تعیین کرد .
  2. در این متد می توان عدد سال را برای سال های بین 1900 تا 1999 به صورت یک عدد 2 رقمی وارد کرد . در این حالت برنامه به طور اتوماتیک عدد سال را به 4 رقمی تبدیل می کند . برای مثال اگر 98 وارد شود ، مقدار آن 1998 در نظر گرفته می شود .

Syntax

DateObject.setYear ( year )
* DateObject = متغیر زمانی مورد نظر
* year = مقدار جدید مورد نظر برای سال به صورت یک عدد دو یا چهار رقمی - اجباری

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

مثال : در مثال زیر ابتدا متغیر زمانی Mydate مقدار دهی شده است . سپس توسط متد setYear مقدار سال آن به یک مقدار جدید تغییر یافته و سپس مقدار جدید در خروجی نمایش داده شده است :

Example

<script type ="text/javascript">
  var MyDate = new Date( "June 22 2003" ) ;
  MyDate.setYear ( 2008 ) ;
  document.write ( MyDate ) ;
</script>

کد

 

متد ( ) setHours :

این متد برای تغییر دادن مقدار عددی ساعت در یک متغیر زمانی استفاده می شود . برای مثال شما می خواهید که مقدار ساعت در یک متغیر زمانی را از 7 به 11 تغییر دهید .

Syntax

DateObject.setHours ( hours , [ minutes ] , [ seconds ] , [ milli ] )
* DateObject = متغیر زمانی مورد نظر
* hours = مقدار جدید مورد نظر برای ساعت به صورت عددی بین 0 تا 23 - اجباری
* minutes = مقدار جدید مورد نظر برای دقیقه به صورت عددی بین 0 تا 59 - اختیاری
* seconds = مقدار جدید مورد نظر برای ثانیه به صورت عددی بین 0 تا 59 - اختیاری
* milli = مقدار جدید مورد نظر برای میلی ثانیه به صورت عددی بین 0 تا 999 - اختیاری

این متد دارای 1 پارامتر اجباری و 3 پارامتر اختیاری است .
عدد اول که توسط خاصیت
hours تعیین می شود ، باید عددی بین 0 تا 23 بوده و تعیین کننده مقدار جدید ساعت در متغیر زمانی است . تعیین این پارامتر اجباری است .
عدد دوم که توسط خاصیت
minutes تعیین می شود ، باید عددی بین 0 تا 59 بوده و تعیین کننده مقدار جدید دقیقه در متغیر زمانی است . تعیین این پارامتر اختیاری است .
عدد سوم که توسط خاصیت
seconds تعیین می شود ، باید عددی بین 0 تا 59 بوده و تعیین کننده مقدار جدید ثانیه در متغیر زمانی است . تعیین این پارامتر اختیاری است .
عدد چهارم که توسط خاصیت
hours تعیین می شود ، باید عددی بین 0 تا 999 بوده و تعیین کننده مقدار جدید میلی ثانیه در متغیر زمانی است . تعیین این پارامتر اختیاری است .

مثال : در مثال زیر ابتدا متغیر زمانی MyTime مقدار دهی شده است . سپس توسط متد setHours و تعیین هر 4 پارامتر لازم مقدار ساعت ، دقیقه ، ثانیه و میلی ثانیه آن به مقادیر مورد نظر تغییر یافته و سپس مقدار جدید در خروجی نمایش داده شده است :

Example

<script type ="text/javascript">
  var MyTime = new Date ( "June 22 2003" ) ;
  MyTime.setHours ( 11 , 23 , 4 , 240 ) ;
  document.write ( MyTime ) ;
</script>

کد

 

متد ( ) setMinutes :

این متد برای تغییر دادن مقدار عددی دقیقه در یک متغیر زمانی استفاده می شود . برای مثال شما می خواهید که مقدار دقیقه در یک متغیر زمانی را از 23 به 34 تغییر دهید .

Syntax

DateObject.setMinutes ( minutes , [ seconds ] , [ milli ] )
* DateObject = متغیر زمانی مورد نظر
* minutes = مقدار جدید مورد نظر برای دقیقه به صورت عددی بین 0 تا 59 - اجباری
* seconds = مقدار جدید مورد نظر برای ثانیه به صورت عددی بین 0 تا 59 - اختیاری
* milli = مقدار جدید مورد نظر برای میلی ثانیه به صورت عددی بین 0 تا 999 - اختیاری

این متد دارای 1 پارامتر اجباری و 2 پارامتر اختیاری است .
عدد اول که توسط خاصیت
minutes تعیین می شود ، باید عددی بین 0 تا 59 بوده و تعیین کننده مقدار جدید دقیقه در متغیر زمانی است . تعیین این پارامتر اجباری است .
عدد دوم که توسط خاصیت
seconds تعیین می شود ، باید عددی بین 0 تا 59 بوده و تعیین کننده مقدار جدید ثانیه در متغیر زمانی است . تعیین این پارامتر اختیاری است .
عدد سوم که توسط خاصیت
hours تعیین می شود ، باید عددی بین 0 تا 999 بوده و تعیین کننده مقدار جدید میلی ثانیه در متغیر زمانی است . تعیین این پارامتر اختیاری است .

مثال : در مثال زیر ابتدا متغیر زمانی MyTime مقدار دهی شده است . سپس توسط متد setMinutes و تعیین هر 3 پارامتر لازم مقدار دقیقه ، ثانیه و میلی ثانیه آن به مقادیر مورد نظر تغییر یافته و سپس مقدار جدید در خروجی نمایش داده شده است :

Example

<script type ="text/javascript">
  var MyTime = new Date ( "June 22 2003 , 12 : 17 : 13 " ) ;
  MyTime.setMinutes ( 23 , 4 , 240 ) ;
  document.write ( MyTime ) ;
  document.write ( " And Milliseconds is : " +   MyTime.getMilliseconds ( ) ) ;
</script>

کد

 

متد ( ) setSeconds :

این متد برای تغییر دادن مقدار عددی ثانیه در یک متغیر زمانی استفاده می شود . برای مثال شما می خواهید که مقدار ثانیه در یک متغیر زمانی را از 53 به 21 تغییر دهید .

Syntax

DateObject.setSeconds ( seconds , [ milli ] )
* DateObject = متغیر زمانی مورد نظر
* seconds = مقدار جدید مورد نظر برای ثانیه به صورت عددی بین 0 تا 59 - اجباری
* milli = مقدار جدید مورد نظر برای میلی ثانیه به صورت عددی بین 0 تا 999 - اختیاری

این متد دارای 1 پارامتر اجباری و 1 پارامتر اختیاری است .
عدد اول که توسط خاصیت
seconds تعیین می شود ، باید عددی بین 0 تا 59 بوده و تعیین کننده مقدار جدید ثانیه در متغیر زمانی است . تعیین این پارامتر اجباری است .
عدد دوم که توسط خاصیت
milli تعیین می شود ، باید عددی بین 0 تا 999 بوده و تعیین کننده مقدار جدید میلی ثانیه در متغیر زمانی است . تعیین این پارامتر اختیاری است .

مثال : در مثال زیر ابتدا متغیر زمانی MyTime مقدار دهی شده است . سپس توسط متد setSeconds و تعیین هر 2 پارامتر ممکن مقدار ، ثانیه و میلی ثانیه آن به مقادیر مورد نظر تغییر یافته و سپس مقدار جدید در خروجی نمایش داده شده است :

Example

<script type ="text/javascript">
  var MyTime = new Date ( "June 22 2003 , 12 : 17 : 13 " ) ;
  MyTime.setSeconds ( 4 , 240 ) ;
  document.write ( MyTime ) ;
  document.write ( " And Milliseconds is : " +   MyTime.getMilliseconds ( ) ) ;
</script>

کد

 

متد ( ) setMilliseconds :

این متد برای تغییر دادن مقدار عددی میلی ثانیه در یک متغیر زمانی استفاده می شود . برای مثال شما می خواهید که مقدار میلی ثانیه در یک متغیر زمانی را از 530 به 210 تغییر دهید .

Syntax

DateObject.setMilliseconds ( milli )
* DateObject = متغیر زمانی مورد نظر
* milli = مقدار جدید مورد نظر برای میلی ثانیه به صورت عددی بین 0 تا 999 - اجباری

این متد فقط دارای 1 پارامتر اجباری است .
تنها پارامتر این متد که توسط خاصیت
milli تعیین می شود ، باید عددی بین 0 تا 999 بوده و تعیین کننده مقدار جدید میلی ثانیه در متغیر زمانی است . تعیین این پارامتر اجباری است .

مثال : در مثال زیر ابتدا متغیر زمانی MyTime مقدار دهی شده است . سپس توسط متد setMilliseconds و تعیین پارامتر لازم مقدار میلی ثانیه آن به مقدار مورد نظر تغییر یافته و سپس مقدار جدید در خروجی نمایش داده شده است :

Example

<script type ="text/javascript">
  var MyTime = new Date ( "June 22 2003 , 12 : 17 : 13 " ) ;
  MyTime.setMilliseconds ( 240 ) ;
  document.write ( " And Milliseconds is : " +   MyTime.getMilliseconds ( ) ) ;
</script>

کد

 

متد ( ) setTime :

از این متد برای محاسبه و ایجاد یک تاریخ و زمان جدید ، به وسیله اضافه یا کم کردن تعداد معینی میلی ثانیه به تاریخ اول ژانویه ( January ) سال 1970 استفاده می شود .

Syntax

DateObject.setTime ( milli )
* DateObject = متغیر زمانی مورد نظر
* milli = تعداد میلی ثانیه های مورد نظر که قرار است به تاریخ متغیر اضافه یا کم شود - اجباری

این متد فقط دارای 1 پارامتر اجباری است .
این متد یک عدد را توسط خاصیت
milli دریافت می کند . در صورتی که عدد وارد شده مثبت باشد ، به تعداد آن ، میلی ثانیه به تاریخ اول ژانویه سال 1970 اضافه شده و تاریخ جدید محاسبه و ایجاد می شود . در صورتی که عدد وارد شده منفی باشد ، به آن تعداد میلی ثانیه از تاریخ اول ژانویه سال 1970 کم شده و تاریخ جدید محاسبه و ایجاد می شود .

مثال : در مثال زیر توسط متد setTime به متغیر MyTime به تعداد مورد نظر ( با وارد کردن یک عدد مثبت ) میلی ثانیه اضافه کرده ایم و سپس تاریخ جدید به وجود آمده را در خروجی نمایش داده ایم :

Example

<script type ="text/javascript">
  var MyTime = new Date ( ) ;
  MyTime.setTime ( 344499827000 ) ;
  document.write (  MyTime ) ;
</script>

کد

مثال : در مثال زیر کاربرد عدد منفی در متد setTime نمایش داده شده است . در این مثال توسط متد setTime از متغیر MyTime به تعداد مورد نظر ( با وارد کردن یک عدد منفی ) میلی ثانیه کم کرده و سپس تاریخ جدید به وجود آمده را در خروجی نمایش داده ایم :

Example

<script type ="text/javascript">
  var MyTime = new Date ( ) ;
  MyTime.setTime ( - 344499827000 ) ;
  document.write (  MyTime ) ;
</script>

کد

متد ( ) tostring :

این متد یک متغیر زمانی ( Date ) را دریافت کرده و آن را به یک متغیر رشته ای ( متنی ) تبدیل می کند . سپس می توان از آن به صورت یک عبارت رشته ای استفاده کرد .

Syntax

DateObject.tostring ( )
* DateObject =
متغیر زمانی مورد نظر

این متد دارای پارامتر نیست .

مثال : در مثال زیر ابتدا متغیر زمانی MyTime را مقدار دهی کرده و سپس توشط متد tostring آن را به یک عبارت رشته ای تبدیل و در متغیر Str ذخیره کرده ایم . سپس آن را در خروجی نمایش داده ایم :

Example

<script type ="text/javascript">
  var MyTime = new Date ( ) ;
  var Str = MyTime.toString ( ) ;
  document.write (  Str.bold ( ) ) ;
</script>

کد

 

 

 

 

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

شی: string 

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

 

متدهای شی  :string 

متدهای شی string در جدول زیر معرفی شده اند . برای دریافت اطلاعات راجع به هر کدام بر روی نام آن کلیک کنید :

نام خاصیت

شرح

big ( )

برای نمایش متن یک متغیر رشته ای با اندازه بزرگتر استفاده می شود .

blink ( )

برای نمایش متن یک متغیر رشته ای به صورت چشمک زن استفاده می شود .

bold ( )

برای نمایش متن یک متغیر رشته ای به صورت توپر ( درشت ) استفاده می شود .

charAt ( )

برای نمایش مقدار یک حرف ( کاراکتر ) مورد نظر در یک متغیر رشته ای اسفاده می شود .

charCodeAt ( )

برای نمایش کد اسکی یک حرف ( کاراکتر ) مورد نظر در یک متغیر رشته ای اسفاده می شود .

concat ( )

از این متد برای چسباندن و اضافه کردن دو یا چند متغیر رشته ای به هم استفاده می شود .

fixed ( )

این متد ، برای نمایش متن متغیر رشته ای با قلم ی ( font ) شبیه نوشته های تلگراف استفاده می شود .

fontcolor ( )

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

fontsize ( )

از این متد ، برای نمایش یک متغیر رشته ای در یک اندازه خاص استفاده می شود .

indexOf ( )

این متد ، شماره مکان قرار گیری اولین نمونه یک حرف یا کلمه را در یک متغیر متنی را بر می گرداند .

italics ( )

از این متد ، برای نمایش متن یک متغیر رشته ای به صورت کج استفاده می شود .

lastIndexOf ( )

این متد ، شماره مکان قرار گیری آخرین نمونه یک حرف یا کلمه را در یک متغیر متنی را بر می گرداند .

link ( )

از این متد برای تبدیل متن یک متغیر رشته ای به یک پیوند ( HyperLink ) استفاده می شود .

match ( )

ازاین متد ، برای جستجوی یک حرف یا کلمه در یک متغیر متنی استفاده می شود .

replace ( )

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

search ( )

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

slice ( )

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

small ( )

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

splite ( )

از این متد برای تقسیم کردن یک متغیر متنی به آرایه ای از کاراکترها استفاده می شود .

strike ( )

از این متد برای نماژش متن یک متغیر متنی با یک خط کشیده شده بر روی آن استفاده می شود .

sub ( )

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

substr ( )

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

substring ( )

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

sup ( )

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

toLowerCase ( )

از این متد برای نمایش متن یک متغیر رشته ای با حروف کوچک استفاده می شود .

toUpperCase ( )

از این متد برای نمایش متن یک متغیر رشته ای با حروف بزرگ استفاده می شود .

 

 

متد های شی string

متد ( ) big :

از این متد برای نمایش متن یک متغیر رشته ای با اندازه ای بزرگتر استفاده می شود .

Syntax

stringobject.big ( )

مثال : در مثال زیر یک متغیر رشته ای به نام matn را با یکبار به صورت ساده و بار دیگر با استفاده از متد big نمایش داده ایم . به تفاوت 2 حالت دقت کنید :

Example

حالت اول بدون متد big

حالت دوم با متد big

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn ) ;
</script>

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.big ( ) ) ;
</script>

کد

 

متد ( ) blink :

این متد برای نمایش یک متغیر متنی ، به صورت چشمک زن بر روی صفحه استفاده می شود .
نکته : متاسفانه این متد در مرورگر Internet Explorer ( پر کاربردترین مرورگر ! ) ، پشتیبانی نمی شود ، ولی در سایر مرورگر ها از جمله NetScape , Firefox و Opera پشتیانی می شود . بنابرین متن خروجی مثال این قسمت فقط در مرورگرهای اشاره شده چشمک خواهد زد .

Syntax

stringobject.blink( )

 

متد bold() :

از این متد برای نمایش یک متغیر رشته ، به صورت توپر ( درشت ) استفاده می شود . عملکرد این متد همانند تگ < b > در HTML است .

Syntax

stringobject.bold( )

مثال : در مثال زیر یک متغیر رشته ای به نام matn را یکبار به صورت معمولی و بار دیگر با متد bold نمایش داده ایم . به تفاوت دقت کنید :

Example

حالت اول بدون متد bold

حالت دوم با متد bold

<script type ="text/javascript">
  var matn = " gharbnet.ir " ;
  document.write ( matn ) ;
</script>

<script type ="text/javascript">
  var matn = "gharbnet.ir" ;
  document.write ( matn.bold ( ) ) ;
</script>

کد

 

متد charAT() :

این متد ، مقدار یک حرف ( کاراکتر ) در یک متغیر متنی ، که شماره آن را توسط خاصیت index تعیین می کنیم ، را بر می گرداند .
نکته : شماره گذاری حروف یک عبارت رشته ای در جاوا اسکریپت ، از سمت چپ بوده و از شماره گذاری از عدد صفر شروع می شود . بنابراین در کلمه ای مثل "Java Script" حرف شماره 2 ، حرف v و شماره 7 حرف c خواهد بود .
نکته 2 : فاصله خالی بین حروف نیز یک کاراکتر حساب شده و دارای شماره خواهد بود .

Syntax

stringobject.charAt ( Index )
* Index = شماره حرف مورد نظر در متغیر

مثال : در مثال زیر یک متغیر رشته ای به نام matn را ایجاد و مقدار دهی کرده ایم . سپس حروف شماره 3 و 9 آن را به کمک متد charAt نمایش داده ایم :

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.charAt ( 3 ) + "<br />") ;
  document.write ( matn.charAt ( 9 ) ) ;
</script>

کد

 

متد charCodeAt() :

این متد ، کد اسکی یک حرف ( کاراکتر ) در یک متغیر متنی ، که شماره آن را توسط خاصیت index تعیین می کنیم ، را بر می گرداند .
نکته : شماره گذاری حروف یک عبارت رشته ای در جاوا اسکریپت ، از سمت چپ بوده و از شماره گذاری از عدد صفر شروع می شود . بنابراین در کلمه ای مثل "Java Script" حرف شماره 2 ، حرف v و شماره 7 حرف c خواهد بود .
نکته 2 : فاصله خالی بین حروف نیز یک کاراکتر حساب شده و دارای شماره خواهد بود .

Syntax

stringobject.charCodeAt ( Index )
* Index = شماره حرف مورد نظر در متغیر

مثال : در مثال زیر یک متغیر رشته ای به نام matn را ایجاد و مقدار دهی کرده ایم . سپس کد اسکی حروف شماره 3 و 9 آن را به کمک متد charCodeAt نمایش داده ایم :

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.charCodeAt ( 3 ) + "<br />") ;
  document.write ( matn.charCodeAt ( 9 ) ) ;
</script>

کد

 

متد fixed()  :

این متد ، برای نمایش متن متغیر رشته ای با قلم ی ( font ) شبیه نوشته های تلگراف استفاده می شود . عملکرد این متد همانند تگ < tt > یا تگ < code > در HTML است .

Syntax

stringobject.fixed ( )

مثال : در مثال زیر یک متغیر رشته ای به نام matn را در حالت اول به صورت ساده و در حالت دوم با متد fixed به کار برده ایم . به تفاوت در روش دقت کنید :

Example

حالت اول بدون متد fixed

حالت دوم با متد fixed

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn ) ;
</script>

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.fixed ( ) ) ;
</script>

کد

 

متد fontcolor() :

از این متد ، برای نمایش متن یک متغیر رشته ای به یک رنگ دلخواه استفاده می شود . رنگ مورد نظر توسط خاصیت color تعیین می شود .
تعیین رنگ می تواند به یکی از 3 روش زیر صورت بگیرد :

  1. نام رنگ مثل blue یا red .
  2. تعیین رنگ به وسیله تابع rgbبه صورت زیر :


( مقدار رنگ قرمز ، مقدار رنگ سبز ، مقدار رنگ آبی ) rgb


این تابع مقدار 3 رنگ را با هم ترکیب کرده و یک رنگ را ایجاد می کند .که مقدار رنگ توسط عددی بین 0 تا 255 تعیین می شود ، که هر چه عدد بزرگتر باشد میزان آن رنگ در کل رنگ بیشتر خواهد بود .

Example : rgb (10,65,232)

  1. نعیین رنگ به صورت عددی ترکیبی در مبنای 16 هگزادسیمال :
    میزان رنگ آبی میزان رنگ سبز میزان رنگ قرمز #

Example : #08FF00

Syntax

stringobject.fontcolor( color )
* color = رنگ مورد نظر

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

Example

<script type ="text/javascript">
  var Srt1 = "String Object 1" ;
  var Srt2 = "String Object 2" ;
  var Srt3 = "String Object 3" ;
  document.write ( Srt1.fontcolor ( "red" ) + "<br /> " ) ;
  document.write ( Srt2.fontcolor ( "rgb(220,10,190)" ) + "<br /> " ) ;
  document.write ( Srt1.fontcolor ( "(#FA390B)" ) ) ;
</script>

کد

 

متد fontsize() :

از این متد ، برای نمایش یک متغیر رشته ای در یک اندازه خاص استفاده می شود . اندازه مورد نظر توسط خاصیت size در تعیین شده و می تواند عددی بین 1 تا 7 باشد . با بزرگتر شدن عدد ، سایز نوشته نیز افزایش می یابد .

Syntax

stringobject.fontsize ( size )
* size = اندازه مورد نظر

مثال : در مثال زیر یک متغیر رشته ای را با متد fontsize در 2 اندازه متفاوت در خروجی نمایش داده ایم :

Example

<script type ="text/javascript">
  var S1 = "Text Size 2" ;
  var S2 = "Text Size 5" ;
  document.write ( S1.fontsize( 2 ) + "<br />" ) ;
  document.write ( S2.fontsize ( 5 ) ) ;
</script>

کد

 

متد italics() :

از این متد برای نمایش متن یک متغیر رشته ای ، به صورت کج ( italics ) استفاده می شود . عملکرد این متد همانند تگ < i > یا تگ < em > در HTML است .

Syntax

stringobject.italics ( )

مثال : در مثال زیر یک متغیر رشته ای به نام matn را یکبار به صورت معمولی و بار دیگر با متد italics نمایش داده ایم . به تفاوت دقت کنید :

Example

حالت اول بدون متد italics

حالت دوم با متد italics

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn ) ;
</script>

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.italics ( ) ) ;
</script>

کد

 

متد ( ) indexOf :

این متد شماره مکان قرار گیری اولین نمونه یک حرف یا کلمه خاص مورد نظر در یک متغیر رشته ای ، را بر می گرداند . در این متد حرف یا کلمه مورد نظر توسط خاصیت searchvalue تعیین می شود . همچنین می توان مکان شروع جستجو در متغیر را نیز به وسیله خاصیت fromindex تعیین کرد . دراین صورت محل آغاز جستجو به جای اول متغیر ، از کاراکتر تعیین شده خواهد بود .
نکته 1 : شماره گذاری حروف یک عبارت رشته ای در جاوا اسکریپت ، از سمت چپ بوده و از شماره گذاری از عدد صفر شروع می شود . بنابراین در کلمه ای مثل "
Java Script" حرف شماره 2 ، حرف v و شماره 7 حرف c خواهد بود .
نکته 2 : فاصله خالی بین حروف نیز یک کاراکتر حساب شده و دارای شماره خواهد بود .
نکته 3 : متد
indexOf به بزرگ یا کوچک بودن حروف حساس است .
نکته 4 : چنانچه حرف یا کلمه مورد جستجو در متغیر رشته ای وجود نداشته باشد ، مقدار بازگشتی 1- خواهد بود .

Syntax

stringobject.indexOf ( searchvalue , fromindex )
* searchvalue = حرف یا کلمه مورد جستجو در متغیر رشته ای را تعیین می کند
* fromindex = شماره مکان کاراکتری که می خواهیم عمل جستجو از آن آغاز شود را تعیین می کند .

مثال : در مثال به وسیله متد indexOf به جستجوی یک حرف و دو عبارت در متغیر matn پرداخته و نتایج را در خروجی نشان داده ایم . به دلیل عدم وجود کلمه ".ir" در متغیر رشته ای مثال ، نتیجه خروجی 1- بوده است . در آخر هم به جستجو حرف e در شرایطی که شروع جستجو از کاراکتر شماره 5 تعیین شده ، پرداخته ایم :

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.indexOf ( "e" ) + "<br />" ) ;
  document.write ( matn.indexOf ( ".ir" ) + "<br />" ) ;
  document.write ( matn.indexOf ( ".ir" ) + "<br />" ) ;
  document.write ( matn.indexOf ( "e" , 5 ) ) ;
</script>

کد

 

متد ( ) lastIndexOf :

این متد شماره مکان قرار گیری آخرین نمونه یک حرف یا کلمه خاص مورد نظر در یک متغیر رشته ای ، را بر می گرداند . در این متد حرف یا کلمه مورد نظر توسط خاصیت searchvalue تعیین می شود . همچنین می توان شماره مکان یک کاراکتر را نیز به وسیله خاصیت fromindex به متد اعلام کرد ، که عملیات جستجو از سمت راست به چپ ( بر عکس ) ، براساس مکان آن کاراکتر صورت بگیرد .
نکته 1 : شماره گذاری حروف یک عبارت رشته ای در جاوا اسکریپت ، از سمت چپ بوده و از شماره گذاری از عدد صفر شروع می شود . بنابراین در کلمه ای مثل "
Java Script" حرف شماره 2 ، حرف v و شماره 7 حرف c خواهد بود .
نکته 2 : فاصله خالی بین حروف نیز یک کاراکتر حساب شده و دارای شماره خواهد بود .
نکته 3 : متد
lastIndexOf به بزرگ یا کوچک بودن حروف حساس است .
نکته 4 : چنانچه حرف یا کلمه مورد جستجو در متغیر رشته ای وجود نداشته باشد ، مقدار بازگشتی 1- خواهد بود .

Syntax

stringobject.lastIndexOf ( searchvalue , fromindex )
* searchvalue = حرف یا کلمه مورد جستجو در متغیر رشته ای را تعیین می کند
* fromindex = شماره مکان کاراکتری که می خواهیم عمل جستجو از آن به صورت برعکس از راست به چپ آغاز شود را تعیین می کند .

مثال : در مثال به وسیله متد lastIndexOf به جستجوی یک حرف و دو عبارت در متغیر matn پرداخته و نتایج را در خروجی نشان داده ایم . به دلیل عدم وجود کلمه ".ir" در متغیر رشته ای مثال ، نتیجه خروجی 1- بوده است . در آخر هم به جستجو حرف e در شرایطی که شروع جستجو از کاراکتر شماره 5 تعیین شده ، پرداخته ایم :

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.lastIndexOf ( "e" ) + "<br />" ) ;
  document.write ( matn.lastIndexOf ( ".ir" ) + "<br />" ) ;
  document.write ( matn.lastIndexOf ( ".ir" ) + "<br />" ) ;
  document.write ( matn.lastIndexOf ( "e" , 5 ) ) ;
</script>

کد

متد link() :

این متد برای نمایش متن یک متغیر رشته ای ، به صورت یک پیوند ( Hyperlink ) روی صفحه استفاده می شود . عماکرد این متد همانند تگ < a > در HTML است . آدرس صحفه یا فایل مقصد پیوند به وسیله خاصیت url تعیین می شود .

Syntax

stringobject.link ( url )
* url = آدرس صفحه یا فایل مقصد پیوند

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

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.link ( "http://www.gharbnet.ir" ) ) ;
</script>

کد

 

متد:  match()

این متد ، جهت جستجو برای وجود یا عدم وجود یک حرف یا کلمه خاص در یک مغیر رشته ای استفاده می شود . عملکرد این متد بسیار شبیه متد indexOf است ، با این تفاوت که به جای شماره مکان قرا گیری حرف یا کلمه مورد جستجو ، خود آن را بر می گرداند .
کلمه یا حرف مورد نظر توسط خاصیت serchvalue تعیین می شود .
نکته 1 : متد match به بزرگ یا کوچک بودن حروف حساس است .
نکته 2 : چنانچه حرف یا کلمه مورد جستجو در متغیر رشته ای وجود نداشته باشد ، مقدار بازگشتی null خواهد بود .

Syntax

stringobject.match ( searchvalue )
* searchvalue = حرف یا کلمه مورد جستجو در متغیر رشته ای را تعیین می کند

مثال : در مثال به وسیله متد match به جستجوی یک حرف و دو عبارت در متغیر matn پرداخته و نتایج را در خروجی نشان داده ایم . به دلیل عدم وجود کلمه ".ir" در متغیر رشته ای مثال ، نتیجه خروجی null بوده است .

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.match ( "e" ) + "<br />" ) ;
  document.write ( matn.match ( ".ir" ) + "<br />" ) ;
  document.write ( matn.match ( ".ir" ) + "<br />" ) ;
</script>

کد

 

متد replace()  :

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

Syntax

stringobject.replace ( findatring , newstring ) * findstring = کلمه یا حرف مورد جستجو
* newstring = مقدار جدیدی که می خواهیم جایگزین مقدار قبلی شود

این متد می تواند با 2 پارامتر اختیاری به شرح زیر استفاده شود :

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

مثال : در مثال زیر یک متغیر رشته ای به نام ex را ایجاد و مقدار دهی کرده ایم . سپس با استفاده از متد replace کلمه Java را با #C عوض کرده و خروجی جدید را بر روی صفحه نشان داده ایم . به دلیل عدم به کار بردن پارامتر g فقط اولین مورد کلمه Java با #C عوض شده و مرد دوم بدون تغییر باقی مانده است :

Example

<script type ="text/javascript">
  var ex = "Java is a powerful programing language . Java support Object Oriented Programming completely " ;
  document.write ( ex.replace ( "Java" , "C#" ) );
</script>

کد

مثال 2 : استفاده از پارامتر g
مثال قبل را با اضافه کردن پارامتر g بازنویسی کرده ایم . در این حالت می بینیم که هر دو مورد کلمه Java با #C عوض شده است :

Example

<script type ="text/javascript">
  var ex = "Java is a powerful programing language . Java support Object Oriented Programming completely " ;
  document.write ( ex.replace ( /Java/g , "C#" ) );
</script>

کد

مثال 3 : استفاده از پارامتر i و g به صورت همزمان
مثال قبل را با استفاده همزمان از در پارامتر i و g بازنویسی کرده ایم . در این حالت می بینیم که هر دو مورد کلمه Java با #C عوض شده و همچنین این متد به بزرگی و کوچکی حروف حساس نیست . این بار در کد دستوری مثال کلمه جاوا را با حروف کوچک و به صورت java نوشته ایم .

Example

<script type ="text/javascript">
  var ex = "Java is a powerful programing language . Java support Object Oriented Programming completely " ;
  document.write ( ex.replace ( /java/ig , "C#" ) );
</script>

کد

 

متد ( ) search :

این متد ، جهت جستجو برای وجود یا عدم وجود یک حرف یا کلمه خاص در یک مغیر رشته ای استفاده می شود . عملکرد این متد بسیار شبیه متد match است ، با این تفاوت که این متد را می توان با پارامتر i به کار برد . به کار بردن پارامتر i با این متد باعث عدم حساسیت آن ، به بزرگ یا کوچک بودن حروف می شود .
نکته 1 : کلمه یا حرف مورد نظر توسط خاصیت
searchstring تعیین می شود .
نکته 2 : چنانچه حرف یا کلمه مورد جستجو در متغیر رشته ای وجود داشته باشد ، این متد شماره اولین کاراکتر آن در طول متغیر رشته ای را برمی گرداند و در صورت عدم وجود حرف یا کلمه مقدار بازگشتی 1- خواهد بود .

Syntax

stringobject.search ( searchstring )
* searchstring = حرف یا کلمه مورد جستجو در متغیر رشته ای را تعیین می کند

مثال : در مثال به وسیله متد match به جستجوی یک حرف و دو عبارت در متغیر matn پرداخته و نتایج را در خروجی نشان داده ایم . توضیحات مثال :

  1. در دستور اول شماره مکان قرار گیری اولین مورد حرف e در متغیر برگشت داده شده است .
  2. در دستور دوم شماره مکان قرار گیری اولین کاراکتر کلمه .ir در متغیر برگشت داده شده است .
  3. در دستور سوم به دلیل حساسیت متد به بزرگ یا کوچک بودن حروف ، کلمه .ir در متغیر پیدا نشده و مقدار خروجی 1- بوده است .
  4. در دستور چهارم به دلیل به کار بردن متد با پارامتر i ، حساسیت آن نسبت بت بزرگ یا کوچک بودن حروف از بین رفته و شماره مکان قرار گیری اولین کاراکتر کلمه .ir بر گشت داده شده است .

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.search ( "e" ) + "<br />" ) ;
  document.write ( matn.search ( ".ir" ) + "<br />" ) ;
  document.write ( matn.search ( ".ir" ) + "<br />" ) ;
  document.write ( matn.search ( /.ir/i ) ) ;
</script>

کد

متد ( ) match :

این متد ، جهت جستجو برای وجود یا عدم وجود یک حرف یا کلمه خاص در یک مغیر رشته ای استفاده می شود . عملکرد این متد بسیار شبیه متد indexOf است ، با این تفاوت که به جای شماره مکان قرا گیری حرف یا کلمه مورد جستجو ، خود آن را بر می گرداند .
کلمه یا حرف مورد نظر توسط خاصیت
serchvalue تعیین می شود .
نکته 1 : متد
match به بزرگ یا کوچک بودن حروف حساس است .
نکته 2 : چنانچه حرف یا کلمه مورد جستجو در متغیر رشته ای وجود نداشته باشد ، مقدار بازگشتی
null خواهد بود .

Syntax

stringobject.match ( searchvalue )
* searchvalue = حرف یا کلمه مورد جستجو در متغیر رشته ای را تعیین می کند

مثال : در مثال به وسیله متد match به جستجوی یک حرف و دو عبارت در متغیر matn پرداخته و نتایج را در خروجی نشان داده ایم . به دلیل عدم وجود کلمه ".ir" در متغیر رشته ای مثال ، نتیجه خروجی null بوده است .

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.match ( "e" ) + "<br />" ) ;
  document.write ( matn.match ( ".ir" ) + "<br />" ) ;
  document.write ( matn.match ( ".ir" ) + "<br />" ) ;
</script>

کد

متد ( ) replace :

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

Syntax

stringobject.replace ( findatring , newstring ) * findstring = کلمه یا حرف مورد جستجو
* newstring = مقدار جدیدی که می خواهیم جایگزین مقدار قبلی شود

این متد می تواند با 2 پارامتر اختیاری به شرح زیر استفاده شود :

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

مثال : در مثال زیر یک متغیر رشته ای به نام ex را ایجاد و مقدار دهی کرده ایم . سپس با استفاده از متد replace کلمه Java را با #C عوض کرده و خروجی جدید را بر روی صفحه نشان داده ایم . به دلیل عدم به کار بردن پارامتر g فقط اولین مورد کلمه Java با #C عوض شده و مرد دوم بدون تغییر باقی مانده است :

Example

<script type ="text/javascript">
  var ex = "Java is a powerful programing language . Java support Object Oriented Programming completely " ;
  document.write ( ex.replace ( "Java" , "C#" ) );
</script>

کد

مثال 2 : استفاده از پارامتر g
مثال قبل را با اضافه کردن پارامتر
g بازنویسی کرده ایم . در این حالت می بینیم که هر دو مورد کلمه Java با #C عوض شده است :

Example

<script type ="text/javascript">
  var ex = "Java is a powerful programing language . Java support Object Oriented Programming completely " ;
  document.write ( ex.replace ( /Java/g , "C#" ) );
</script>

کد

مثال 3 : استفاده از پارامتر i و g به صورت همزمان
مثال قبل را با استفاده همزمان از در پارامتر
i و g بازنویسی کرده ایم . در این حالت می بینیم که هر دو مورد کلمه Java با #C عوض شده و همچنین این متد به بزرگی و کوچکی حروف حساس نیست . این بار در کد دستوری مثال کلمه جاوا را با حروف کوچک و به صورت java نوشته ایم .

Example

<script type ="text/javascript">
  var ex = "Java is a powerful programing language . Java support Object Oriented Programming completely " ;
  document.write ( ex.replace ( /java/ig , "C#" ) );
</script>

کد

متد ( ) slice :

از این متد برای برش و جدا کردن بخشی از متن یک متغیر رشته ای و سپس ذخیره آن در یک مغیر جدید یا چاپ در خروجی استفاده می شود .
شماره کاراکتری که می خواهیم عمل برش از آن آغاز شود را توسط خاصیت
start و شماره کاراکتری که می خواهیم عملیات برش در آنجا پایان پذیرد ، را توسط خاصیت end تعیین می کنیم . مجموعه کاراکترهایی که بین این دو مقدار باشند ، به عنوان خروجی نمایش داده می شود .
نکته 1 : تعیین نقطه پایانی اختیاری است و می تواند تعیین نشود . در صورت عدم تعیین آن ، نقطه پایان برش متغیر ، انتهای آن در نظر گرفته می شود .
نکته 2 : شماره گذاری حروف یک عبارت رشته ای در جاوا اسکریپت ، از سمت چپ بوده و از شماره گذاری از عدد صفر شروع می شود . بنابراین در کلمه ای مثل "
Java Script" حرف شماره 2 ، حرف v و شماره 7 حرف c خواهد بود .
نکته 3 : فاصله خالی بین حروف نیز یک کاراکتر حساب شده و دارای شماره خواهد بود .

Syntax

stringobject.slice ( start , end )
* start = شماره مکان کاراکتر آغاز قسمت برش
* end = شماره مکان کاراکتر انتهای قسمت برش

مثال : در مثال زیر در دو حالت به برش متغیر matn پرداخته ایم . در حالت اول نقطه شروع کارکتر 3 و نقطه پایان کاراکتر 11 در نظر گرفته شده است . در حالت دوم نقطه شروع کاراکتر 3 تعیین شده و نقطه پایان مشخص نشده است و در حالت دوم عمل برش تا انتهای متغیر انجام شده است :

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.slice ( 3 , 11 ) + "<br /> " ) ;
  document.write ( matn.slice ( 3 ) );
</script>

کد

متد ( ) split :

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

نکته 1 : اگر خاصیت seprator ، " " تعیین شود ، عمل تقسیم بر حسب کلمات موجود در یک متغیر صورت می گیرد .
نکته 2 : اگر خاصیت
seprator ، "" تعیین شود ، عمل تقسیم بر حسب کلمات حروف در یک متغیر صورت می گیرد .

Syntax

stringobject.split ( seprator , number )
* seprator = کارکتر یا کلمه ای که می خواهیم عمل تقسیم بر حسب آن انجام شود .
* end = تعداد دفعات تقسیم متغیر رشته ای به قطعات کوچکتر را تعیین می کند

مثال : در مثال زیر در چهار حالت به برش متغیر matn توسط متد split پرداخته ایم . در حالت اول ، تقسیم بر مبنای حرف e ، در حالت دوم تقسیم بر مبنای "" ، در حالت سوم تقسیم بر مبنای " " و تعداد دفعات تقسیم هم 4 بار در نظر گرفته شده است . حالت اول در آخر هم تقسیم بر حسب حروف متغیر تعیین شده است .

Example

<script type ="text/javascript">
document.write ( matn.split ( "e" ) + "<br /> " ) ;
document.write ( matn.split ( "" ) + ">br /< " );
; document.write (matn.split ( "" , 4 ) + "<br /> " );
document.write (matn.split ( " " ) );
</script>

کد

 

متد small()  :

از این متد برای نمایش یک متغیر رشته ای ، با اندازه ای کوچکتر از حد معمول استفاده می شود . عملکرد این متد همانند تگ  < small > در HTML است .

Syntax

stringobject.small ( )

مثال : در مثال زیر یک متغیر رشته ای به نام matn را یکبار به صورت معمولی و بار دیگر با متد small نمایش داده ایم . به تفاوت دقت کنید :

Example

حالت اول بدون متد small

حالت دوم با متد small

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn ) ;
</script>

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.small ( ) ) ;
</script>

کد

 

متدstrike()   :

از این متد برای نمایش یک متغیر رشته ای ، با یک خط کشیده شده بر روی آن استفاده می شود . عملکرد این متد همانند خاصیت text-decoration با مقدار line-thorough در CSS است .

Syntax

stringobject.strike ( )

مثال : در مثال زیر یک متغیر رشته ای به نام matn را یکبار به صورت معمولی و بار دیگر با متد strike نمایش داده ایم . به تفاوت دقت کنید :

Example

حالت اول بدون متد strike

حالت دوم با متد strike

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn ) ;
</script>

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.strike ( ) ) ;
</script>

کد

 

متد sub() :

از این متد برای نمایش یک متغیر رشته ای ، به صورت زیر نویس استفاده می شود . عملکرد این متد همانند تگ < sub > در HTML است .

Syntax

stringobject.sub ( )

مثال : در مثال زیر یک متغیر رشته ای به نام matn و یک متغیر به نام ex ایجاد کرده ایم . در خروجی ابتدا متغیر matn را چاپ کرده و متغیر ex را به صورت زیر نویس برای آن قرار داده ایم :

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  var ex = "Website" ;
  document.write ( matn + ex.sub ( ) ) ;
</script>

کد

 

متد sup() :

از این متد برای نمایش یک متغیر رشته ای ، به صورت اندیس ( بالا نویس ) استفاده می شود . عملکرد این متد همانند تگ < sup > در HTML است .

Syntax

stringobject.sup ( )

مثال : در مثال زیر یک متغیر رشته ای به نام matn و یک متغیر به نام ex ایجاد کرده ایم . در خروجی ابتدا متغیر matn را چاپ کرده و متغیر ex را به صورت اندیس برای آن قرار داده ایم :

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  var ex = "Website" ;
  document.write ( matn + ex.sup ( ) ) ;
</script>

کد

 

متد substr()  :

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

Syntax

stringobject.substr ( start , length )
* start = شماره کاراکتر آغاز نقطه برش در طول متغیر
* length = تعداد کاراکترهایی که می خواهیم از نقطه شروع برش داده شوند

نکته 1 : تعیین تعداد کاراکترهای مورد نظر برای عملیات برش اختیاری بوده و می تواند تعیین نشود . در صورت عدم تعیین آن ، انتهای متغیر به عنوان نقطه پایان برش در نظر گرفته می شود .
نکته 2 : شماره گذاری حروف یک عبارت رشته ای در جاوا اسکریپت ، از سمت چپ بوده و از شماره گذاری از عدد صفر شروع می شود . بنابراین در کلمه ای مثل "Java Script" حرف شماره 2 ، حرف v و شماره 7 حرف c خواهد بود .
نکته 3 : فاصله خالی بین حروف نیز یک کاراکتر حساب شده و دارای شماره خواهد بود .

مثال : در مثال زیر در 2 حالت به برش متغیر متن پرداخته ایم . در حالت اول عملیات برش را از کاراکتر 4 و به تعداد 6 حرف انجام داده ایم . در حالت دوم عملیات برش را از کاراکتر 4 انجام داده ایم ، ولی تعداد کاراکتر معینی را در نظر نگرفته ایم . در این حالت انتهای متغیر به عنوان نقطه پایان عملیات برش در نظر گرفته شده است :

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.match ( 4 , 6 ) + "<br />" ) ;
  document.write ( matn.match ( 4 ) ) ;
</script>

کد

 

متدsubstring ( )   :

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

Syntax

stringobject.substr ( start , stop )
* start = شماره کاراکتر آغاز نقطه برش در طول متغیر
* length = شماره کاراکتر نقطه پایان عملیات برش

نکته : تعیین نقطه پایان برای عملیات برش اختیاری بوده و می تواند تعیین نشود . در صورت عدم تعیین آن ، انتهای متغیر به عنوان نقطه پایان برش در نظر گرفته می شود .

مثال : در مثال زیر در 2 حالت به برش متغیر متن پرداخته ایم . در حالت اول عملیات برش را بین کاراکترهای 4 و 9 تعیین کرده ایم . در حالت دوم عملیات برش را از کاراکتر 4 آغاز کرده ایم ، ولی نقطه پایان آن را در نظر نگرفته ایم . در این حالت انتهای متغیر به عنوان نقطه پایان عملیات برش در نظر گرفته شده است :

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.substrnig ( 4 , 6) + "<br />" ) ;
  document.write ( matn.substrnig ( 4 ) ) ;
</script>

کد

 

متد toLowerCase()  :

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

Syntax

stringobject.toLowerCase ( )

مثال : در مثال زیر یک متغیر رشته ای را با متد toLowerCase با حروف کوچک نمایش داده ایم :

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.toLowerCase ( ) ) ;
</script>

کد

 

متد toUpperCase() :

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

Syntax

stringobject.toUpperCase ( )

مثال : در مثال زیر یک متغیر رشته ای را با متد toUpperCase با حروف بزرگ نمایش داده ایم :

Example

<script type ="text/javascript">
  var matn = "Gharbnet .ir" ;
  document.write ( matn.toUpperCase ( ) ) ;
</script>

کد

 

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

مبحث شی گرایی در جاوا اسکریپت

مقدمه ای بر مبحث شی گرایی :

جاوا اسکریپت ، یک زبان برنامه نویسی شی گرا یا ( Object Oriented Programming ) است . این زبان به برنامه نویس ، قابلیت استفاده از اشیای پیش ساخته و یا تعریف و ایجاد اشیای جدید مورد نیاز خود را می دهد .
توجه : در این قسمت ، مروری کوتاه بر مفهوم برنامه نویسی شی گرا در جاوا اسکریپت و نحوه استفاده از آن خواهیم داشت . در قسمت های بعدی به معرفی انواع اشیا پیش ساخته در Java Script می پردازیم .

مفهوم کلاس :

کلاس ( class ) ، اساسی ترین مفهوم شی گرایی است . یک کلاس یک الگو یا چهارچوب از پیش تعریف شده است که اشیا ( objects ) از روی آن ساخته می شوند . هر کلاس مجموعه ای از خواص ( Properties ) و متدها ( Methods ) است ، که کلاس آنها را به اشیایی که از رویش ساخته می شوند ، به ارث می دهد .
یک کلاس همانند یک دستورالعمل یا نقشه برای ایجاد اشیای جدید مشتق شده از آن است . برای مثال موجودیت دانشجو در مجموعه دانشگاه یک کلاس است ، که هر دانشجو یک شی ساخته شده از روی آن است .
مثال 2 : متغیرهای متنی یا string ، یکی از کلاس های پیش ساخته در جاوااسکریپت است . در قسمت بعد با تمام خواص و متدهای آن آشنا خواهید شد .

مفهوم شی :

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

مفهوم متد :

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

نحوه تعریف یک کلاس و ایجاد یک شی جدید در جاوا اسکریپت :

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

function  نام کلاس   ( Parameter1 , Parameter2 , ... )
  {
     this.نام خاصیت 1  =  Parameter1 ;
     this.نام خاصیت 2  =  Parameter2 ;
    .
    .
    .
  }

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

this.نام پارامتر = نام خاصیت

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

var نام شی جدید = function نام کلاس ( Parameter1 Value , Parameter2 Value , ... ) ;

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

نام خاصیت . نام شی

مثال : در مثال زیر یک کلاس به نام student ایجاد کرده ایم . هر شی این کلاس 3 خاصیت نام ( Name ) ، نام خواندگی ( Family ) و شماره دانشجویی ( ID ) را خواهد داشت . در هنگام فراخوانی کلاس برای ایجاد یک شی جدید ، مقادیر این 3 خاصیت به ترتیب به پارامترهای n , f و i ارسال خواهند شد .
در مثال ، پس از تعریف کلاس به ایجاد یک شی جدید به نام St1 و مقدار دهی خواص آن پرداخته ایم . سپس توسط سه دستور چاپ در خروجی مشخصات کامل دانشجو جدید را در خروجی چاپ کرده ایم . در انتها هم شماره دانشجویی ، دانشجو مذکور را دوباره مقدار دهی کرده و مقدار جدید آن را چاپ کرده ایم :

Example

<script type ="text/javascript">
  function Student ( n , f , i )
    {
      this.Name = n ;
      this.Family = f ;
      this.ID = i ;
    }
  var St1 = new Student ( "Mehrdad" , "Fattahi" , 122092 ) ;
  document.write ( "Name :" + St1.Name +"<br />");
  document.write ( "Family : " + St1.Family +"<br />");
  document.write ( "Studnet ID : " + St1 .ID +"<br />" );
  St1.ID = 299302 ;
  document.write ( "New Student ID : " + St1.ID ) ;
</script>

کد

 

اشیای پیش ساخته در Java Script

شی string :

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

خواص شی string :

در جدول زیر ، مجموعه خواص شی string ارائه شده است . برای دریافت اطلاعات درباره هر کدام ، بر روی نام آن کلیک کنید :

نام خاصیت

شرح

constructor

نام تابع سازنده شی مورد نظر را بر می گرداند .

length

تعداد کاراکترهای یک عبارت متنی را بر می گرداند .

prototype

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

 

خاصیت constructor :

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

Syntax

object.constructor
* object = نام شی مورد نظر

مثال : در مثال زیر با استفاده از تابع  string( ) یک شی string جدید به نام txtname ایجاد کرده ایم . به وسیله دستور document.write ، نوع تابع سازنده شی را نشان داده ایم :
نکته : توجه شود شکل صحیح نوشتاری تابع String با S بزرگ است .

Example

< script type="text/javascript" >
  var txtname = new String ( ) ;
  document.write ( txtname.constructor ) ;
< /script >

کد

 

خاصیت length  :

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

Syntax

object.length

مثال : در مثال زیر یک متغیر رشته ای را تعریف و سپس به وسیله دستور document.write ، طول آن را نشان داده ایم :

Example

<script type="text/javascript">
  var name = "Gharbnet .ir" ;
  document.write ( name.length ) ;
</script>

کد

 

خاصیت prototype :

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

Syntax

object.prototype.name = value
* object = نام شی مورد نظر     name = نام خاصیت یا متد جدید     value = مقدار اولیه خاصیت جدید یا نام متد

مثال : در مثال زیر ابتدا یک کلاس به نام Student که دارای 3 خاصیت نام ( Name ) ، نام خواندگی ( Family ) و شماره دانشجویی ( ID ) است را ایجاد کرده و یک شی جدید به نام St 2 از روی آن ساخته ایم . سپس به کلاس یک خاصیت جدید به نام Major اضافه کرده ایم ، که قرار است رشته تحصیلی را برای دانشجو نگهداری کند . درپایان ، خاصیت جدید را برای شی St2 مقدار دهی کرده و آن را در خروجی نشان داده ایم :

Example

<script type="text/javascript">
  function Student ( n , f , i )
    {
      this.Name = n ;
      this.Family = f ;
      this.ID = i ;
    }
  var St2 = new   Student ( "Mehrdad" , "Fattahi" , 122092 ) ;
  Student.prototype.Major = null ;         Major ایجاد خاصیت جدید برای کلاس به نام
  St2.Major = "Soft Ware";             St2 مقدار دهی خاصیت جدید برای شی
  document.write ( St2.Major ) ;
</script>

کد

 

آرایه ها و حلقه ها در جاوا اسکریپت

آرایه در جاوا اسکریپت :

مفهوم آرایه : آرایه مجموعه ای از متغیرهایی از یک نوع داده ای با نام یکسان است ، که هر کدام از اعضای آن توسط یک شمارنده ( اندیس ) ، از یکدیگر متمایز می شوند .
شمارنده هر عضو آرایه در یک براکت در مقابل نام آن تعیین شده ، که برای مقدار دهی و دسترسی به هر عضو آرایه از اندیس آن استفاده می شود .
برای تعریف یک آرایه ، از واژه کلیدی new Array به شکل کلی زیر استفاده می شود :

var  نام آرایه =  new Array ( ) ;
مثال :   var Cars = new Array ( ) ;

نکات مهم :

نکته 1 : می توان تعداد اعضای یک آرایه را در زمان تعریف ، در پرانتز جلوی واژه کلیدی new Array ، تعیین کرد :
مثال : آرایه زیر 4 عضو دارد :

var Cars = new Array ( 4 ) ;

نکته 2 : شماره گذاری اندیس اعضای یک آرایه از صفر شروع شده و برای هر عضو شمارنده یک واحد افزایش می یابد .
مثال : آرایه ای که در مثال قبل ایجاد کردیم ، 4 عشو زیر را داراست :

Cars [ 0 ]   ,   Cars [ 1 ]   ,   Cars [ 2 ]   ,   Cars [ 3 ]

نکته 3 : برای مقدار دهی یا دسترسی به هر عضو آرایه ، از نام آرایه به همراه شمارنده یا اندیس عضو مورد نظر در براکت مقابل نام آن ، به شکل کلی زیر استفاده می شود :

مقدار مورد نظر = [ اندیس عضو مورد نظر ] نام آرایه ;
مثال : Cars [ 0 ] = "Ford" ;
Cars [ 1 ] = "Nissan" ;

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

Example

< script type="text/javascript" >
  var Cars = new Array ( 3 ) ;
  Cars [ 0 ] = "Ford" ;
  Cars [ 1 ] = "Nissan" ;
  Cars [ 2 ] = "Mazda" ;
  document.write ( Cars [ 0 ] ) ;
  document.write ( Cars [ 1 ] ) ;
< /script >

کد

 

روش های مقدار دهی کلی اعضای یک آرایه :

تمام یا بخش هایی از اعصای یک آرایه را می توان در هنگام تعریف و یا بعد از آن مقدار دهی کرد . به طور کلی 2 روش برای مقدار دهی اعضای یک آرایه وجود دارد :

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

Example

< script type="text/javascript" >
  var Cars = new Array ( 4 ) ;
  Cars [ 0 ] = "Ford" ;
  Cars [ 1 ] = "Nissan" ;
  Cars [ 2 ] = "Mazda" ;
  Cars [ 3 ] = "Volvo" ;
< /script >

کد

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

Example

< script type="text/javascript" >
 var Cars = new Array ( "Ford" , "Nissan" , "Mazda" , "Volvo" ) ;
< /script >


 

حلقه ها در جاوا اسکریپت :

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

  1. حلقه for : در این نوع حلقه ، مجموعه دستورالعمل ها به تعداد معلوم و مورد نیاز ، تکرار خواهد شد .
  2. حلقه while : در این حالت ، دستورالعمل های حلقه تا زمانی که شرط تعیین شده برای آن درست باشد ، مجددا اجرا خواهد شد .

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

for
while

do ... while
for ... in

 

1) حلقه for :

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

  1. مقدار اولیه متغیر : به وسیله این مقدار ، مقدار اولیه برای شروع شمارنده حلقه تعیین می شود .
  2. عبارت کنترلی : در این قسمت یک عبارت کنترلی مرتبط با شمارنده حلقه تعیین می شود ، که در هر بار اجرای مجدد حلقه ، شرط عبارت کنترل شده و در صورت برقرار بودن شرط ، دستورات حلقه اجرا می شود .
  3. گام افزایش یا کاهش : در این قسمت ، میزانی که متغیر شمارنده حلقه ، در هر بار اجرای دستورات آن افزایش یا کاهش می یابد را تعیین می کنیم .

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

for   ( گام افزایش یا کاهش  ; تعیین عبارت کنترلی   ; تعیین مقدار اولیه متغیر )
   {
    دستورات بدنه حلقه
   }

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

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

Example

< script type="text/javascript" >
  var n ;
  for ( n = 1 ; n <= 5 ; n++ )
    {
      document.write ("Line number is " + n + "<br />") ;
    }
< /script >

کد

مثال 2 : همانطور که گفتیم می توان قسمت پارامترهای مقدار اولیه و گام افزایش یا کاهش را در یک حلقه for خالی گذاشته و مقدار اولیه را قبل از تعریف حلقه و گام حلقه را در درون بلاک کد حلقه تعیین کرد . مثال شماره 1 را به این صورت نیز می توان نوشت :

Example

< script type="text/javascript" >
  var n = 1;
  for (   ; n <= 5 ;   )
    {
      document.write ("Line number is " + n + "<br />") ;
      n++ ;
    }
< /script >

کد

نکته و مثال 3 : گام یک حلقه می تواند منفی یا کاهشی نیز باشد . در مثال زیر شمارنده حلقه با هر بار اجرای حلقه یک واحد کاهش می یابد :

Example

< script type="text/javascript" >
  var n ;
  for ( n = 5 ; n >= 1 ; n-- )
    {
      document.write ("Line number is " + n + "<br />") ;
    }
< /script >

کد

یک برنامه کاربردی :

در این قسمت یک برنامه ساده را با جاوا اسکریپت طراحی کرده ایم . این برنامه از طریق 2 کادر متن ، دو عدد را به عنوان ورودی دریافت کرده و عدد اول را به توان عدد دوم می رساند .
توضیح : در ابتدا یک متغیر به نام sum برای نگهداری جواب را با مقدار اولیه 1 تعریف می کنیم . سپس مقدار کادر اول در متغیر n و مقدار کادر دوم را در متغیر i ذخیره می کنیم . از عدد دوم به عنوان شمارنده حلقه استفاده شده که با هر بار اجرای حلقه ، عدد اول یکبار در خود ضرب شده و یک واحد از شمارنده حلقه نیز کم می شود ، تا به 1 برسد . در این حالت اجرای حلقه متوقف شده و نتیجه خروجی بر روی صفحه چاپ می شود :

Example

< script type="text/javascript" >
  function multiple ( )
    {
      var sum = 1 ;
      var n = Num1.value ;
      for ( var i = Num2.value ; i > 0 ; i-- )
       {
         sum = sum * n ;
       }

      document.write ( sum ) ;
    }
< /script >

< input type="text" id="Num1" />
< input type="text" id="Num2" />
< input type="button" id="Btnclick" value=" Click for Multipe" onclick="multiple( )" / >

کد

 

حلقه while در جاوا اسکریپت :

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

while   ( شرط یا شروط حلقه )
   {
     دستوراالعمل های مورد نظر حلقه
   }

مثال : مثال اول قسمت آموزش حلقه for را در اینجا با حلقه while باز نویسی کرده ایم . در این حلقه از متغیر n به عنوان متغیر شمارنده و کنترل کننده حلقه استفاده شده است . اجرای حلقه تا زمانی که شرط آن درست است ، ادامه دارد :

Example

< script type="text/javascript" >
  var n = 1 ;           تعریف و مقدار دهی متغیر کنترلی حلقه
  while ( n <= 5 )
    {
      document.write ("Line number is " + n + "<br />") ;
      n++ ;           گام افزایشی متغیر کنترلی حلقه
    }
< /script >

کد

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

Example

< script type="text/javascript" >
  function multiple ( )
    {
      var sum = 1 ;
      var n = Num1.value ;
      var i = Num2.value ;
      while ( i > 0 )
       {
         sum = sum * n ;
         i-- ;
       }

      document.write ( sum ) ;
    }
< /script >

< input type="text" id="Num1" />
< input type="text" id="Num2" />
< input type="button" id="Btnclick" value=" Click for Multipe" onclick="multiple( )" / >

کد

 

حلقه do ... while :

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

do
  {
   دستورات حلقه
  }
while  ( شرط یا شروط حلقه )

مثال : مثال اول قسمت آموزش حلقه while را در اینجا با حلقه do ... while باز نویسی کرده ایم . در این حلقه از متغیر n به عنوان متغیر شمارنده و کنترل کننده حلقه استفاده شده است . اجرای حلقه تا زمانی که شرط آن درست است ، ادامه دارد :

Example

< script type="text/javascript" >
  var n = 1 ;           تعریف و مقدار دهی متغیر کنترلی حلقه
  do
    {
      document.write ("Line number is " + n + "<br />") ;
      n++ ;           گام افزایشی متغیر کنترلی حلقه
    }
  while ( n <= 5 )
< /script >

کد

مثال : در مثال زیر یک حلقه do ... while تعریف شده که شرط اجرای دستورات آن کوچکتر بودن متغیر c از 5 است . اما قبل از حلقه متغیر c با مقدار 8 مقدار دهی شده است . می بینیم که با وجود اشتباه بودن و عدم برقراری شرط حلقه دستورات آن حداقل یکبار اجرا شده و خروجی تولید کرده است ، ولی سری دوم اجرای حلقه به دلیل عدم برقراری شرط آن اجرا نشده است :

Example

< script type="text/javascript" >
  var c = 8 ;           تعریف و مقدار دهی متغیر کنترلی حلقه
  do
    {
      document.write ("Line number is " + c + "<br />") ;
      c++ ;          
    }
  while ( c <= 5 )
< /script >

کد

 

حلقه while در جاوا اسکریپت :

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

while   ( شرط یا شروط حلقه )
   {
     دستوراالعمل های مورد نظر حلقه
   }

مثال : مثال اول قسمت آموزش حلقه for را در اینجا با حلقه while باز نویسی کرده ایم . در این حلقه از متغیر n به عنوان متغیر شمارنده و کنترل کننده حلقه استفاده شده است . اجرای حلقه تا زمانی که شرط آن درست است ، ادامه دارد :

Example

< script type="text/javascript" >
  var n = 1 ;           تعریف و مقدار دهی متغیر کنترلی حلقه
  while ( n <= 5 )
    {
      document.write ("Line number is " + n + "<br />") ;
      n++ ;           گام افزایشی متغیر کنترلی حلقه
    }
< /script >

کد

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

Example

< script type="text/javascript" >
  function multiple ( )
    {
      var sum = 1 ;
      var n = Num1.value ;
      var i = Num2.value ;
      while ( i > 0 )
       {
         sum = sum * n ;
         i-- ;
       }

      document.write ( sum ) ;
    }
< /script >

< input type="text" id="Num1" />
< input type="text" id="Num2" />
< input type="button" id="Btnclick" value=" Click for Multipe" onclick="multiple( )" / >

کد

 

حلقه do ... while :

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

do
  {
   دستورات حلقه
  }
while  ( شرط یا شروط حلقه )

مثال : مثال اول قسمت آموزش حلقه while را در اینجا با حلقه do ... while باز نویسی کرده ایم . در این حلقه از متغیر n به عنوان متغیر شمارنده و کنترل کننده حلقه استفاده شده است . اجرای حلقه تا زمانی که شرط آن درست است ، ادامه دارد :

Example

< script type="text/javascript" >
  var n = 1 ;           تعریف و مقدار دهی متغیر کنترلی حلقه
  do
    {
      document.write ("Line number is " + n + "<br />") ;
      n++ ;           گام افزایشی متغیر کنترلی حلقه
    }
  while ( n <= 5 )
< /script >

کد

مثال : در مثال زیر یک حلقه do ... while تعریف شده که شرط اجرای دستورات آن کوچکتر بودن متغیر c از 5 است . اما قبل از حلقه متغیر c با مقدار 8 مقدار دهی شده است . می بینیم که با وجود اشتباه بودن و عدم برقراری شرط حلقه دستورات آن حداقل یکبار اجرا شده و خروجی تولید کرده است ، ولی سری دوم اجرای حلقه به دلیل عدم برقراری شرط آن اجرا نشده است :

Example

< script type="text/javascript" >
  var c = 8 ;           تعریف و مقدار دهی متغیر کنترلی حلقه
  do
    {
      document.write ("Line number is " + c + "<br />") ;
      c++ ;          
    }
  while ( c <= 5 )
< /script >

کد

 

حلقه for...in در جاوا اسکریپت :

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

for   ( متغیر   in   نام یک آرایه / مجموعه خواص یک شی )
  {
    دستورات بدنه حلقه
  }

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

Example

< script type="text/javascript" >
  var n = 0 ;
  var i = 1 ;
  var Lessons = new Array( 5 ) ;
  Lessons[0] = "HTML" ;
  Lessons[1] = "CSS" ;
  Lessons[2] = "Visual Basic" ;
  Lessons[3] = "Java Script" ;
  Lessons[4] = "ASP.NET" ;
  for ( n   in   Lessons )
    {
      document.write ( "Lesson " + i + " = " + Lessons [n] + "<br / >") ;
      i++ ;
    }
< /script >

کد

- یک مثال مرتبط با دستور continue و حلقه for...in

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

Example

< script type="text/javascript" >
  var n = 0 ;
  var i = 1 ;
  var Lessons = new Array( 5 ) ;
  Lessons[0] = "HTML" ;
  Lessons[1] = "CSS" ;
  Lessons[2] = "Visual Basic" ;
  Lessons[3] = "Java Script" ;
  Lessons[4] = "ASP.NET" ;
  for ( n   in   Lessons )
    {
      if ( n % 2 != 0 ) continue ;
      document.write ( "Lesson " + i + " = " + Lessons [n] + "<br / >") ;
      i++ ;
    }
< /script >

کد

 

دستورات break و continue

دستور break :

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

شکل کلی تعریف یک دستور break به صورت زیر است :
نکته : عملکرد و استفاده از دستور break در تمام حلقه ها یکسان است . در مثال زیر فرض می کنیم ، حلقه ما while است :

while ( شرط حلقه )
  {
    دستورات حلقه
    if ( شرط حلقه )   break ;
    ادامه دستورات حلقه
  }

مثال : مثال چاپ شماره خطوط را که در حلقه های قبل به کار برده بودیم را در این قسمت ، با دستور break باز نویسی کرده ایم . در این حلقه شرط دستور break ، برابر شدن متغیر شمارنده حلقه یعنی n با مقدار 3 است ، که در هنگامی که n برابر 3 می شود ، برنامه از اجرای ادامه دستورات حلقه جلوگیری کرده و از حلقه خارج می شود . بنابرین شماره خطوط تا شماره 3 چاپ شده و 4 و 5 چاپ نمی شود :

Example

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

< script type="text/javascript" >
  var n ;
  for ( n = 1 ; n <= 5 ; n++ )
    {
      document.write ("Line number is " + n + "<br />") ;
      if ( n == 3 ) break ;
    }
< /script >

کد

 

دستور continue :

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

شکل کلی تعریف یک دستور continue ، به صورت زیر است .
نکته : عملکرد و استفاده از دستور continue در تمام حلقه ها یکسان است . در این مثال ، ما فرض کرده ایم که حلقه while است :

while ( شرط حلقه )
  {
    دستورات حلقه
    if ( شرط حلقه )   continue ;
    ادامه دستورات حلقه
  }

مثال : مثال چاپ شماره خطوط را که در حلقه های قبل به کار برده بودیم را در این قسمت ، با دستور continue باز نویسی کرده ایم . در این حلقه شرط دستور continue ، برابر شدن متغیر شمارنده حلقه یعنی n با مقدار 3 است ، که در هنگامی که n برابر 3 می شود ، برنامه از اجرای ادامه دستورات حلقه در مرحله ای که 3 = n است جلوگیری کرده و به گام بعدی حلقه یعنی 4 = n پرش می کند . بنابرین شماره خطوط تا شماره 2 چاپ شده و شماره 3 چاپ نشده و به ادامه اجرای حلقه در خط 4 پرش می شود .

Example

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

< script type="text/javascript" >
  var n ;
  for ( n = 1 ; n <= 5 ; n++ )
    {
      if ( n == 3 ) continue ;
      document.write ("Line number is " + n + "<br />") ;
    }
< /script >

کد

 

ساختار دستوری try ... catch :

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

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

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

از ساختار کنترلی try ... catch در جاوا اسکریپت ، برای پیدا کردن خطاها و error های احتمالی و تعیین اقدامات اصلاحی در صورت بروز خطا ، استفاده می شود .
این ساختار از 2 بخش try و catch تشکیل شده است . کد اصلی برنامه که می خواهیم اجرا شود و احتمال می دهیم دارای خطا باشد ، را در قسمت try قرار داده و اقدامات اصلاحی را که می خواهیم در صورت بروز خطا انجام شود ، را در قسمت catch می گذاریم .
برنامه در هنگام رسیدن به ساختار ، دستورات قسمت try را انجام می دهد و در صورت مواجه با خطا در دستورات ، بخش catch را اجرا خواهد کرد .
نکته مهم : در صورت عدم برخورد با خطا ، دستورات قسمت catch به هیچ وجه اجرا نخواهد شد .
نکته مهم 2 : در قسمت catch ، می توان در پرانتز مقابل واژه کلیدی catch ، یک عبارت یا متغیر تعریف کرد ، که این متغیر خصوصیات error به وجود آمده را در خود نگهداری کرد . یکی از این خواص ، شرح یا description خطا است ، که می توان به شکلی که در مثال 2 نشان داده شده است ، به شرح خطا دسترسی داشته و آنرا به کاربر اطلاع داد .
شکل کلی تعریف یک ساختار try ... catch به صورت زیر است :

try
  {
    دستورات مورد نظر برای اجرا که احتمال خطا دارد
  }
catch ( نام یک متغیر )
  {
    اقدامات اصلاحی مورد نظر در صورت وقوع خطا
  }

مثال 1 : در مثال زیر ، یک تابع به نام show_error قرار داده شده است . این تابع توسط دکمه فرمان click me فراخوانی شده و قصد دارد تا یک پیغام خوش آمد به کاربر اعلام کند . اما در متن دستور یک اشتباه تایپی وجود دارد و آن اینکه به جای عبارت documnet.write ، نوشته شده است document.wriet ، به همین دلیل پیغام خروجی چاپ نشده و در صفحه error رخ می دهد . اگر دقت کنید در نوار پایین مرورگر ( Status Bar ) علامت Error on page قرار گرفته است . برای مشاهده error ، بر روی آیکون خطا کلیک کنید . در اینجا به دلیل عدم پیش بینی خطا هیچ واکنشی از سوی مرورگر انجام نمی شود :

Example

< script type="text/javascript" >
  function show_error()
    {
      document.wriet ( "Welcome User!" ) ;
    }
< /script >

< input type="button" id="Button1" value="click me !" onclick="show_error()" />

کد

مثال 1 : در مثال زیر ، تابع show_error2 قرار داده شده است . این تابع نیز همانند تابع قبلی می خواهد یک پیام خوش آمد به کاربر اعلام کند . این تابع نیز دارای اشتباه تایپی در دستور document.write است ، با این تفاوت که با ساختار try ... catch قرار داده شده ، تعیین شده است در صورت بروز خطا یک پیام هشدار به کاربر اعلام شود . توسط متغیر err که در پرانتز مقابل واژه کلیدی catch تعریف شده است ، متن پیام error در خاصیت description ذخیره شده و سپس به کاربر اعلام می شود . به کد مثال دقت کنید :

Example

< script type="text/javascript" >
  function show_error2 ( )
    {
      try
        {
          document.wriet ( "Welcome User!" ) ;
        }
      catch ( err )
        {
         alert ( "There was an error on this page . \n\n" + "Error Description : " + err.description +"\n\nClick Ok for continue" ) ;
        }
    }
< /script >

< input type="button" id="btnclick2" value="click me ! to see error report" onclick="show_error( )" />

کد

 

دستور throw :

توسط دستور throw در جاوا اسکریپت می توان یک خطایابی کامل تر را انجام داد . با استفاده از این دستور به همراه ساختار try ... catch ، می توان روند اجرای برنامه و بروز خطا را کاملا تحت کنترل داشت و یک پیغام خطا دقیق طراحی کرد .
نکته : دستور throw به تنهایی کاربردی نداشته و باید آنرا با ساختار دستوری try ... catch به کار برد .

در مثال زیر سعی شده است ، تا چگونگی استفاده از یک دستور throw را در قالب ساختار try ... catch توضیح داد .
مثال : در مثال زیر یک اسکریپت ساده برای دریافت ورودی از کاربر طراحی شده است . تابع Enter_Num که توسط دکمه فرمان Enter Number فراخوانی می شود ، در ابتدا یک کادر متن برای دریافت ورودی از کاربر ، نمایش می دهد . مقدار دریافتی از کاربر در متغیر Num ذخیره می شود . سپس در یک ساختار try ... catch ، مقدار دریافتی از کاربر بررسی می شود .
در حالت اول ، چنانچه کاربر مقداری را در کادر وارد نکرده و آنرا خالی ارسال کرده باشد ، برنامه خطای 1 را شناسایی و یک پیام هشدار مبنی بر وارد کردن عدد نمایش داده و سپس مجددا تابع Enter_Num را برای دریافت مقدار صحیح اجرا می کند . در حالت دوم اگر کاربر عددی بزرگتر از 100 را وارد کرده باشد ، برنامه خطای دوم را شناسایی کرده و یک پیغام هشدار مبنی بر بزرگ بودن عدد وارده را نمایش داده و مجددا تابع Enter_Num را اجرا می کند . به کد مثال و نحوه استفاده از دستور throw دقت کنید :

Example

< script type="text/javascript" >
  function Enter_Num ( )
    {
      var Num = prompt ( "Enter a number please : " , "" ) ;
      try
        {
          if ( !Num )
            throw "Error1"
          else if ( Num > 100 )
            throw "Error2"
        }
      catch ( er )
          {
          if ( er == "Error1" )
           {
               alert ( "Plese enter a number !" ) ;
               Enter_Num ( ) ;
            }
          if ( er == "Error2" )
            {
               alert ( "Number too big . Enter a smaller number !" ) ;
               Enter_Num( ) ;
            }
          }
    }
< /script >

< input type="button" id="BtnEnter" value="Enter Number " onclick="Enter_Num( )" />

کد

 

ساختار دستوری try ... catch :

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

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

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

از ساختار کنترلی try ... catch در جاوا اسکریپت ، برای پیدا کردن خطاها و error های احتمالی و تعیین اقدامات اصلاحی در صورت بروز خطا ، استفاده می شود .
این ساختار از 2 بخش try و catch تشکیل شده است . کد اصلی برنامه که می خواهیم اجرا شود و احتمال می دهیم دارای خطا باشد ، را در قسمت try قرار داده و اقدامات اصلاحی را که می خواهیم در صورت بروز خطا انجام شود ، را در قسمت catch می گذاریم .
برنامه در هنگام رسیدن به ساختار ، دستورات قسمت try را انجام می دهد و در صورت مواجه با خطا در دستورات ، بخش catch را اجرا خواهد کرد .
نکته مهم : در صورت عدم برخورد با خطا ، دستورات قسمت catch به هیچ وجه اجرا نخواهد شد .
نکته مهم 2 : در قسمت catch ، می توان در پرانتز مقابل واژه کلیدی catch ، یک عبارت یا متغیر تعریف کرد ، که این متغیر خصوصیات error به وجود آمده را در خود نگهداری کرد . یکی از این خواص ، شرح یا description خطا است ، که می توان به شکلی که در مثال 2 نشان داده شده است ، به شرح خطا دسترسی داشته و آنرا به کاربر اطلاع داد .
شکل کلی تعریف یک ساختار try ... catch به صورت زیر است :

try
  {
    دستورات مورد نظر برای اجرا که احتمال خطا دارد
  }
catch ( نام یک متغیر )
  {
    اقدامات اصلاحی مورد نظر در صورت وقوع خطا
  }

مثال 1 : در مثال زیر ، یک تابع به نام show_error قرار داده شده است . این تابع توسط دکمه فرمان click me فراخوانی شده و قصد دارد تا یک پیغام خوش آمد به کاربر اعلام کند . اما در متن دستور یک اشتباه تایپی وجود دارد و آن اینکه به جای عبارت documnet.write ، نوشته شده است document.wriet ، به همین دلیل پیغام خروجی چاپ نشده و در صفحه error رخ می دهد . اگر دقت کنید در نوار پایین مرورگر ( Status Bar ) علامت Error on page قرار گرفته است . برای مشاهده error ، بر روی آیکون خطا کلیک کنید . در اینجا به دلیل عدم پیش بینی خطا هیچ واکنشی از سوی مرورگر انجام نمی شود :

Example

< script type="text/javascript" >
  function show_error()
    {
      document.wriet ( "Welcome User!" ) ;
    }
< /script >

< input type="button" id="Button1" value="click me !" onclick="show_error()" />

کد

مثال 1 : در مثال زیر ، تابع show_error2 قرار داده شده است . این تابع نیز همانند تابع قبلی می خواهد یک پیام خوش آمد به کاربر اعلام کند . این تابع نیز دارای اشتباه تایپی در دستور document.write است ، با این تفاوت که با ساختار try ... catch قرار داده شده ، تعیین شده است در صورت بروز خطا یک پیام هشدار به کاربر اعلام شود . توسط متغیر err که در پرانتز مقابل واژه کلیدی catch تعریف شده است ، متن پیام error در خاصیت description ذخیره شده و سپس به کاربر اعلام می شود . به کد مثال دقت کنید :

Example

< script type="text/javascript" >
  function show_error2 ( )
    {
      try
        {
          document.wriet ( "Welcome User!" ) ;
        }
      catch ( err )
        {
         alert ( "There was an error on this page . \n\n" + "Error Description : " + err.description +"\n\nClick Ok for continue" ) ;
        }
    }
< /script >

< input type="button" id="btnclick2" value="click me ! to see error report" onclick="show_error( )" />

کد

 

دستور: throw

توسط دستور throw در جاوا اسکریپت می توان یک خطایابی کامل تر را انجام داد . با استفاده از این دستور به همراه ساختار try ... catch ، می توان روند اجرای برنامه و بروز خطا را کاملا تحت کنترل داشت و یک پیغام خطا دقیق طراحی کرد .
نکته : دستور throw به تنهایی کاربردی نداشته و باید آنرا با ساختار دستوری try ... catch به کار برد .

در مثال زیر سعی شده است ، تا چگونگی استفاده از یک دستور throw را در قالب ساختار try ... catch توضیح داد .
مثال : در مثال زیر یک اسکریپت ساده برای دریافت ورودی از کاربر طراحی شده است . تابع Enter_Num که توسط دکمه فرمان Enter Number فراخوانی می شود ، در ابتدا یک کادر متن برای دریافت ورودی از کاربر ، نمایش می دهد . مقدار دریافتی از کاربر در متغیر Num ذخیره می شود . سپس در یک ساختار try ... catch ، مقدار دریافتی از کاربر بررسی می شود .
در حالت اول ، چنانچه کاربر مقداری را در کادر وارد نکرده و آنرا خالی ارسال کرده باشد ، برنامه خطای 1 را شناسایی و یک پیام هشدار مبنی بر وارد کردن عدد نمایش داده و سپس مجددا تابع Enter_Num را برای دریافت مقدار صحیح اجرا می کند . در حالت دوم اگر کاربر عددی بزرگتر از 100 را وارد کرده باشد ، برنامه خطای دوم را شناسایی کرده و یک پیغام هشدار مبنی بر بزرگ بودن عدد وارده را نمایش داده و مجددا تابع Enter_Num را اجرا می کند . به کد مثال و نحوه استفاده از دستور throw دقت کنید :

Example

< script type="text/javascript" >
  function Enter_Num ( )
    {
      var Num = prompt ( "Enter a number please : " , "" ) ;
      try
        {
          if ( !Num )
            throw "Error1"
          else if ( Num > 100 )
            throw "Error2"
        }
      catch ( er )
          {
          if ( er == "Error1" )
           {
               alert ( "Plese enter a number !" ) ;
               Enter_Num ( ) ;
            }
          if ( er == "Error2" )
            {
               alert ( "Number too big . Enter a smaller number !" ) ;
               Enter_Num( ) ;
            }
          }
    }
< /script >

< input type="button" id="BtnEnter" value="Enter Number " onclick="Enter_Num( )" />

کد

 

ساختار دستوری: onerror

استفاده از ساختار onerror ، روش قدیمی خطا یابی در صفحات وب در زبان جاوا اسکریپت است .
در صفحه قبل ، نحوه استفاده از ساختار دستوری try ... catch را توضیح دادیم . از ساختار دستوری onerror نیز برای خطایابی در صفحات وب ، ولی با روشی متفاوت استفاده می شود .
رویداد onerror ، هر زمان که خطایی در یک اسکریپت در صفحه به وجود بیاید ، تحریک شده و اتفاق می افتد . برای استفاده از رویداد onerror ، برنامه نویس باید تابعی را طراحی کند که خطا به وجود آمده در صفحه را مدیریت ( Handle ) کند . رویداد onerror در زمان بروز خطا ، تابع مدیریت خطا ( Event Handler Function ) را فراخوانی خواهد کرد ، که در این صورت دستورات پیش بینی شده برای مواجه با خطا اجرا خواهد شد .
تابع مدیریت خطا با 3 پارامتر ( آرگومان ) ، به شرح زیر فراخوانی خواهد شد :

  1. msg : متن پیام خطایی که توسط مرورگر تولید شده و شامل توضیحاتی راجع به error رخ داده است ، را ارائه می دهد .
  2. url : مسیر کامل صفحه ای که خطا در آن اتفاق افتاده را شامل می شود .
  3. l : شماره خط کدی که خطا در آن اتفاق افتاده است ، را نگهداری می کند .

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

onerror  =  نام تابع مدیریت خطا

function   نام تابع مدیریت خطا ( )
   {
     دستورات مدیریت خطا
     return false Or true
   }

نکته مهم : تابع مدیریت خطا دارای یک مقدار بازگشتی است ، که توسط طراح و به وسیله دستور return تعیین می شود . این مقدار می تواند یکی از 2 حالت True یا False باشد .این مقدار تعیین می کند که آیا مرروگر در هنگام بروز خطا ، علامت خطا را در نوار پایین مرورگر ( Status Bar ) نشان داده و گزارش استاندارد راجع به خطا به وجود آمده اعلام کند یا خیر .
در صورت تعیین و باز گرداندن مقدار True ، مررورگر در هنگام وقوع یک error ، در نوار Status Bar علامت و گزارش خطا را اعلام نمی کند ولی در صورت بازگرداندن مقدار False ، مرورگر در نوار پایین علامت خطا را نمایش داده و یک گزارش کامل از خطا را به صورت استاندارد اعلام می کند .

مثال : در مثال زیر یک تابع مدیریت خطا با نام ErrorHandler برای واکنش در زمان بروز خطا طراحی شده است . این تابع قرار است در هنکام بروز خطا یک کادر پیام حاوی توضیح نوع خطا ، آدرس کامل صفحه ای که خطا در آن روی داده و شماره خط کد اشتباه را به کاربر اعلام کند .
از طرف دیگر در تابع PageEroor ، یک اشتباه تایپی وجود دارد و به جای عبارت alert نوشته شده است alertt . این اشتباه باعث بروز خطا در صفحه شده که در نتیجه تابع مدیریت خطا فراخوانی شده و پیغام خود را نمایش می دهد . همچنین به علت باز گرداندن مقدار true توسط تابع مدیریت خطا ، مرورگر علامت خطا را در نوار Status Bar نشان نمی دهد :

Example

<script type="text/javascript">
  onerror = ErrorHandler
  function ErrorHandler ( msg , url , l )
    {
      alert ( "Error Discription : " + msg + "\nPage URL : " + url + "\nLine Number : " + l ) ;
      return true ;
    }
</script>

<script type="text/javascript">
  function PageError ( )
    {
      alertt ( "gharbnet" ) ;
    }
</script>

<input type="button" id="BtnError" value="Click to view error report" onclick="PageError()" />

کد

 

ساختار دستوری onerror :

استفاده از ساختار onerror ، روش قدیمی خطا یابی در صفحات وب در زبان جاوا اسکریپت است .
در صفحه قبل ، نحوه استفاده از ساختار دستوری try ... catch را توضیح دادیم . از ساختار دستوری onerror نیز برای خطایابی در صفحات وب ، ولی با روشی متفاوت استفاده می شود .
رویداد onerror ، هر زمان که خطایی در یک اسکریپت در صفحه به وجود بیاید ، تحریک شده و اتفاق می افتد . برای استفاده از رویداد onerror ، برنامه نویس باید تابعی را طراحی کند که خطا به وجود آمده در صفحه را مدیریت ( Handle ) کند . رویداد onerror در زمان بروز خطا ، تابع مدیریت خطا ( Event Handler Function ) را فراخوانی خواهد کرد ، که در این صورت دستورات پیش بینی شده برای مواجه با خطا اجرا خواهد شد .
تابع مدیریت خطا با 3 پارامتر ( آرگومان ) ، به شرح زیر فراخوانی خواهد شد :

  1. Msg  : متن پیام خطایی که توسط مرورگر تولید شده و شامل توضیحاتی راجع به error رخ داده است ، را ارائه می دهد .
  2. url  : مسیر کامل صفحه ای که خطا در آن اتفاق افتاده را شامل می شود .
  3. l  شماره خط کدی که خطا در آن اتفاق افتاده است ، را نگهداری می کند .

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

onerror  =  نام تابع مدیریت خطا

function   نام تابع مدیریت خطا ( )
   {
     دستورات مدیریت خطا
     return false Or true
   }

نکته مهم : تابع مدیریت خطا دارای یک مقدار بازگشتی است ، که توسط طراح و به وسیله دستور return تعیین می شود . این مقدار می تواند یکی از 2 حالت True یا False باشد .این مقدار تعیین می کند که آیا مرروگر در هنگام بروز خطا ، علامت خطا را در نوار پایین مرورگر ( Status Bar ) نشان داده و گزارش استاندارد راجع به خطا به وجود آمده اعلام کند یا خیر .
در صورت تعیین و باز گرداندن مقدار True ، مررورگر در هنگام وقوع یک error ، در نوار Status Bar علامت و گزارش خطا را اعلام نمی کند ولی در صورت بازگرداندن مقدار False ، مرورگر در نوار پایین علامت خطا را نمایش داده و یک گزارش کامل از خطا را به صورت استاندارد اعلام می کند

مثال : در مثال زیر یک تابع مدیریت خطا با نام ErrorHandler برای واکنش در زمان بروز خطا طراحی شده است . این تابع قرار است در هنکام بروز خطا یک کادر پیام حاوی توضیح نوع خطا ، آدرس کامل صفحه ای که خطا در آن روی داده و شماره خط کد اشتباه را به کاربر اعلام کند .
از طرف دیگر در تابع PageEroor ، یک اشتباه تایپی وجود دارد و به جای عبارت alert نوشته شده است alertt . این اشتباه باعث بروز خطا در صفحه شده که در نتیجه تابع مدیریت خطا فراخوانی شده و پیغام خود را نمایش می دهد . همچنین به علت باز گرداندن مقدار true توسط تابع مدیریت خطا ، مرورگر علامت خطا را در نوار Status Bar نشان نمی دهد :

Example

<script type="text/javascript">
  onerror = ErrorHandler
  function ErrorHandler ( msg , url , l )
    {
      alert ( "Error Discription : " + msg + "\nPage URL : " + url + "\nLine Number : " + l ) ;
      return true ;
    }
</script>

<script type="text/javascript">
  function PageError ( )
    {
      alertt ( "gharbnet" ) ;
    }
</script>

<input type="button" id="BtnError" value="Click to view error report" onclick="PageError()" />

کد

 

توابع در جاوا اسکریپت

توابع در جاوا اسکریپت :

 

تعریف تابع :

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

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

 

قابلیت های تابع :

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

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

    یک تابع را می توان از هر نقطه ای در صفحه فراخوانی کرد .

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

 

محل تعریف توابع :

توابع را می توان در هر جای تگ های اسکریپت ، تعریف کرد .

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

 

شکل کلی تعریف توابع :

 

برای تعریف یک تابع از واژه کلیدی function به شکل کلی زیر استفاده می شود :

 

function   نام تابع ( )

 {

   دستورات تابع

 }

 

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

Example

                                                                                                                                 < script type="text/javascript" >

  function welcome( )

    {

   ");   document.write ( "welcome to Gharbnet.ir

    }

< /script >       

           

 

نحوه فراخوانی تابع :

 

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

 

نام تابع ( ) ;

 

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

< html >

  < head >

    < title/ > عنوان صفحه < title >

  < /head >

  < body >

    < script type="text/javascript" >

      function welcome( )

       {

       ");  document.write ( "welcome to Gharbnet.ir

       }

    < /script >

 

    < script type="text/javascript" >

        welcome ( ) ;

     </script>

  < body/ >

< /html >

 

نکته : یک تابع را می توان توسط رویدادهای یک کنترل HTML مثل یک دکمه فرمان نیز فراخوانی کرد . در این حالت باید مقدار رویداد مورد نظر را در تگ کنترل ، برابر نام تابع در نظر گرفت . به مثال زیر دقت کنید .

 

 

نحوه تعریف پارامتر برای یک تابع :

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

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

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

 

شکل کلی تعریف پارامتر برای یک تابع بع صورت زیر است :

funciton   نام تابع   ( Parametr 1 , Parametr 2 , ... )
  {
    دستورات تابع
  }

مثال :  function multiple ( var num1 , var num2 )
         {
           دستورات تابع
         }

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

function   نام تابع g ( Parametr 1 مقدار , Parametr 2 مقدار , ... )
  {
    دستورات تابع
  }

مثال : در مثال زیر تابع multiple را که در بالا تعریف کرده بودیم با تعیین پارامترهای لازم ، فراخوانی کرده ایم :

multiple ( 2 , 10 ) ;

نکته مهم : پارامتر های یک تابع ، به عنوان متغیرهای محلی برای آن تابع قابل استفاده هستند .

مثال : در مثال زیر تابع multiple با دو پارامتر num1 و num2 تعریف شده است ، که این تابع این دو عدد را در هم ضرب کرده و به عنوان خروجی روی صفحه نمایش می دهد . این تابع در یک اسکریپت دیگر توسط تابع Call_Function فراخوانی می شود . این تابع دو عدد را از دو کادر متن مثال دریافت کرده و به ترتیب آنها را در متغیرهای a , b ذخیره می کند .  سپس آن را در هنگام فراخوانی به تابع multiple پاس می دهد . توجه شود که از متغیر های دیگر نیز می توان برای فراخوانی استفاده کرد . برای مشاهده خروجی 2 عدد را در کادر متن ها وارد کرده و بر روی دکمه فرمان multiple کلیکگ کنید .

< script type="text/javascript" >
  function multiple ( num1 , num2 )
    {
      document.write ( num1 * num2 ) ;
    }
< /script >

< script type="text/javascript" >
  function Call_Function ( )
    {
        var a = Text1.value ;
        var b = Text2.value ;
        multiple ( a , b ) ;    فراخوانی تابع با پارامترهای لازم و چاپ خروجی
    }
< /script >
< input type="button" id="Button2" onclick="Call_Function( )" value=" click me ! " />
< input type="text" id="Text1" />
< input type="text" id="Text2" />

 

نحوه تعریف مقدار بازگشی برای یک تابع :

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

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

return  ( مقدار بازگشتی ) ;

نکته : مقدار بازگشتی ، می تواند یک رشتته یا عدد ، یک متغیر و یا یک عبارت محاسباتی باشد .

 

منوهای Pop-Up در جاوا اسکریپت :

توسط کادر های Pop-Up در جاوا اسکریپت ، می توان به کاربر پیغام اخطار داد ، از آن تایید گرفت و یا ورودی دریافت کرد . این کادر ها در مواقع مورد نظر ظاهر شده و عملیات تعیین شده برای آنها انجام خواهند داد .
به طور کلی 3 نوع کادر Pop-Up در جاوا اسکریپت داریم :

  1. کادر پیام یا هشدار ( alert Box )
  2. کادر دریافت تایید (confirm Box )
  3. کادر دریافت ورودی ( prompt Box )

در ادامه به معرفی و توضیح هر یک از کادرهای فوق می پردازیم :

1 ) کادر پیام یا هشدار ( alert Box)

از کادر alert Box :

از کادر alert Box ، برای اعلام یک پیام یا هشدار به کاربر استفاده می شود . این پیام که از قبل باید تعیین شده باشد ،در یک کادر ظاهر شده و تا زمانی که کاربر دکمه Ok را انتخاب نکند ، از بین نمی رود .

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

alert ( " متن پیام یا هشدار " ) ;

 

 

 

مثال : در مثال زیر یک کادر alert Box در تابع Alert_Box تعریف شده است . این تابع توسط دکمه فرمان ! Alert ، فراخوانی شده و کادر پیام خود را ظاهر می کند .

Example

< script type="text/javascript" >
  function Alert_Box ( )
    {
      alert ( " Welcome To Gharbnet.ir " ) ;
    }
</script>

<input type="button" id="btnAlert" value=" Alert ! " onclick="Alert_Box( )" />

کد

مثال 2 : در مثال زیر یک کادر متن و یک دکمه فرمان قرار داده شده است . کاربر باید یک عدد را در کادر متن وارد کرده و بر روی دکمه فرمان کلیک کند . چنانچه عدد ورودی از 10 کمتر باشد ، برنامه عبارت Welcome to gharbnet.ir را در خروجی چاپ کرده و در غیر این صورت یک کادر پیام با متن Number too big را به کاربر نشان می کند .

Example

< script type="text/javascript" >
  function Alert_Box2 ( )
    {
      var Num = txtNum.value ;
      if ( Num < 10 )
        document.write ( " Welcome to gharbnet.ir " ) ;
      else
        alert ( " Number too big " ) ;
    }
< /script >

< input type="text" id="Text1" / >
< input type="button" id="btnAlert2" value=" Alert ! " onclick="Alert_Box2()" />

کد

نکته : می توان در متن پیام کادرهای جاوا اسکریپت ، به تعداد مورد نیاز خط جدید ایجاد کرد . برای این منظور ، در متن پیام از کاراکتر ' \n ' به شرحی که در مثال زیر آمده است ، استفاده می شود :

Example

< script type="text/javascript" >
  function Alert_Box3 ( )
    {
      alert ( "Hello . Dear User " + '\n' + " Welcome to gharbnet.ir ") ;
}
< /script >

< input type="button" id="btnAlert3" value=" Alert ! with Line Brakes " onclick="Alert_Box3()" />

کد

 

2)کادر دریافت تایید ( confirm Box ) :

از کادر دریافت تایید ، برای اعلام یک پیام به کاربر و دریافت نظر آن مبنی بر قبول یا عدم قبول پیام مورد نظر استفاده می شود .
این کادر دارای 2 دکمه فرمان OK و Cancel است ، که در صورت انتخاب گزینه OK ، کادر مقدار مثبت ( True ) و در صورت انتخاب گزینه Cancel ، کادر مقدار منفی ( False ) را به صفحه بر می گرداند .
شکل کلی تعریف یک کادر تایید به صورت زیر است :

confirm ( " متن پیام " ) ;

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

نام متغیر  =  confirm ( "متن پیام" ) ;

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

Example

< script type="text/javascript" >
  function Change_Page( )
    {
      var x = confirm ( "Do you want go to home page ? " ) ;
      if ( x == true )
        document.URL = "gharbnet.ir" ;
      else
        document.write ( " You pressed Cancel ! " ) ;
    }
< /script >

< input type="button" id="btnChange" value=" go to Home Page ? " onclick="Change_Page( )" />

کد

 

3) کادر دریافت ورودی ( prompt Box )

از کادر دریافت ورودی ، برای اعلام یک پیام به کاربر و دریافت یک ورودی از وی استفاده می شود . در این حالت یک کادر حاوی پیام مورد نظر ، یک کنترل متنی برای ورود مقدار ، دکمه OK برای تایید و ارسال مقدار ورودی به صفحه و دکمه Cancel برای لغو عملیات کادر ، بر روی صفحه نمایش داده می شود .
همچنین می توان یک مقدار پیش فرض نیز در کادر تعیین کرد ، که هموراه به صورت پیش فرض در کنترل متنی کادر نمایش داده خواهد شد . تعیین مقدار پیش فرض اختیاری است .
شکل کلی تعریف یک کادر دریافت ورودی سه صورت زیر است :

prompt ( " مقدار پیش فرض " , " متن پیام کادر" ) ;

مثال : در مثال زیر یک کادر دریافت ورودی ، برای دریافت نام کاربر در تابع Hello_User تعریف شده است . این تابع با کلیک بر روی دکمه فرمان Enter Name فراخوانی شده و سپس با دریافت نام کاربر یک پیام خوش آمد به کاربر در خروجی اعلام می کند . برای مشاهده خروجی بروی دکمه فرمان Enter Name کلیک کرده و سپس نام خود را در کادر وارد کنید :

Example

< script type="text/javascript" >
  function Hello_User( )
    {
      var name = prompt ( "enter your name") ;
      if ( name != null )
        document.write ( "hello dear " + name + " " + " Welcome to gharbnet.ir " ) ;
    }
< /script >

< input type="button" id="btnHello" onclick="Hello_User()" value="Enter Name" />

کد

مثال : در مثال زیر یک کادر دریافت تایید در تابع Change_page تعریف شده است . این کادر یک ورودی ، که نام یکی از بخش های آموزشی سایت Welcome to gharbnet.ir است ، را از کاربر دریافت کرده و سپس آدرس مرورگر را به آدرس مربوط با آن نام تغییر می دهد . در این کادر مقدار پیش فرض Home Page در نظر گرفته شده است . برای مشاهده خروجی بروی دکمه فرمان کلیک کرده و سپس نام مقصد را انتخاب کنید . در صورت وارد کردن اسم نادرست ، یک کادر هشدار ظاهر خواهد شد :

Example

< script type="text/javascript" >
  function Change_Page( )
    {
        var page = prompt ( "Where do you want to go ? " , "Home Page" ) ;
        switch ( page )
        {
            case "Home Page" :
              document.URL = "../ gharbnet.ir " ;
              break ;
            case "Html" :
              document.URL = "../HTML/introducehtml.aspx" ;
              break ;
            case "CSS" :
              document.URL = "../CSS/CSSIntroduce.aspx" ;
              break ;
            case "Java Script" :
              document.URL = "../JavaScript/Java_Script_Introduce.aspx" ;
              break ;
            case "SQL" :
              document.URL = "../SQL/SQLIntroduce.aspx" ;
              break ;
            default :
              alert ( "Incorrect Name" ) ;
        }
}
< /script>

<input type="button" id="Button2" onclick="Change_Page()" value="Enter Page" />

کد