نماد سایت تیک۴

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

تعریف تابع:

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

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

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

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

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

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

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

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

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

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

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

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

function   نام تابع ( )

 {

   دستورات تابع

 }

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

< script type="text/javascript" >

  function welcome( )

    {

      document.write ( "welcome to DeveloperStudio" )

    }

< /script >

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

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

نام تابع ( ) ;

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

< html >

  < head >

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

  < /head >

  < body >

    < script type="text/javascript" >

      function welcome( )

       {

         document.write ( "welcome to DeveloperStudio" )

       }

    < /script >



    < script type="text/javascript" >

        welcome ( ) ;

     </script>

  < /body >

< /html >

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

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

< html >

  < head >

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

  < /head >

  < body >

    < script type="text/javascript" >

      function welcome( )

       {

         document.write ( "welcome to DeveloperStudio" )

       }

    < /script >



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

  < /body >

< /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 پاس می دهد . توجه شود که از متغیر های دیگر نیز می توان برای فراخوانی استفاده کرد . برای مشاهده خروجی ۲ عدد را در کادر متن ها وارد کرده و بر روی دکمه فرمان 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" />

کد

Number 1 : 

   Number 2 : 

    multiple

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

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

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

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

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

مثال: تابع multiple را در مثال قبل با دستور return بازنویسی کرده ایم . در این حالت تابع به جای استفاده از دستور document.write با دستور return ، مقدار را برای چاپ خروجی به تابع Call_Function بر می گرداند:

< script type="text/javascript" >

  function multiple ( num1 , num2 )

    {

      return ( num1 * num2 ) ;

    }

< /script >



< script type="text/javascript" >

  function Call_Function ( )

    {

        var a = Text1.value ;

        var b = Text2.value ;

        document.write (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" />
خروج از نسخه موبایل