1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

آموزش جاوااسکریپت در 34 جلسه

شروع موضوع توسط minaaa ‏12/2/12 در انجمن Java Script

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش جاوااسکریپت در 34 جلسه

    آموزش جاوااسکریپت – جلسه یازدهم: پنجره های Popup
    جاوااسکریپت 3 نوع پنجره (به عبارت بهتر جعبه) پاپ آپ دارد.

    جعبه هشدار (Alert Box)
    جعبه هشدار برای این است که شما مطمئن شوید که اطلاعات از طریق یک کاربر ارسال شده است. وقتی یک جعبه هشدار طاهر می شود کاربر باید حتماً روی “OK” کلیک کند تا کار ادامه پیدا کند.
    دستور:
    کد:

    alert("sometext");

    مثال:
    کد:

    <html>
    <head>
    <script type="text/javascript">
    function show_alert()
    {
    alert("I am an alert box!");
    }
    </script>
    </head>
    <body>
    <input type="button" onclick="show_alert()" value="Show alert box" />
    </body>
    </html>


    جعبه تایید (Confirm Box)
    جعبه تایید برای این است که کاربر یک موضوع را تایید و یا دوباره بررسی کند. وقتی که جعبه تایید ظاهر می شود کاربر باید یا روی “OK” و یا روی “Cancel” کلیک کند، درصورتی که روی “Ok” کلیک کند جعبه مقدار True و در صورتی که روی “Cancel” کلیک کند مقدار False بر می گرداند.
    دستور:
    کد:

    confirm("sometext");

    مثال:
    کد:

    <html>
    <head>
    <script type="text/javascript">
    function show_confirm()
    {
    var r=confirm("Press a button");
    if (r==true)
    {
    alert("You pressed OK!");
    }
    else
    {
    alert("You pressed Cancel!");
    }
    }
    </script>
    </head>
    <body>
    <input type="button" onclick="show_confirm()" value="Show confirm box" />
    </body>
    </html>


    جعبه اجازه (Prompt Box)
    جعبه اجازه برای این است که کاربر را قبل از ورود به یک صفحه مجبور کنید مقداری را وارد کند. وقتی یک جعبه اجازه ظاهر می شود کاربر پس از وارد کردن یک مقدار باید روی “Ok” و یا “Cancel” کلیک کند. اگر روی OK کلیک کند جعبه مقدار وارد شده را بر می گرداند. در صورتی که روی Cancel کلیک کند مقدار هیچ (null) برگردانده می شود.
    دستور:
    کد:

    prompt("sometext","defaultvalue");

    مثال:
    کد:

    <html>
    <head>
    <script type="text/javascript">
    function show_prompt()
    {
    var name=prompt("Please enter your name","Harry Potter");
    if (name!=null && name!="")
    {
    document.write("Hello " + name + "! How are you today?");
    }
    }
    </script>
    </head>
    <body>
    <input type="button" onclick="show_prompt()" value="Show prompt box" />
    </body>
    </html>


    مثالی یک مقدار پیشرفته تر: (نحوه اضافه کردن یک خط جدید به پنجره هشدار)

    کد:

    <html>
    <head>
    <script type="text/javascript">
    function disp_alert()
    {
    alert("Hello again! This is how we" + '\n' + "add line breaks to an alert box!");
    }
    </script>
    </head>
    <body>
    <input type="button" onclick="disp_alert()" value="Display alert box" />
    </body>
    </html>

     
  2. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش جاوااسکریپت در 34 جلسه

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

    توابع جاوااسکریپت
    برای اینکه باعث شوید که کدهای جاوااسکریپت در هنگام لود شدن صفحه اجرا نشوند می توانید آن ها را در یک تابع قرار دهید و در صورت نیاز هرجا خواستید از آنها استفاده کنید.
    تابع مجموعه دستوراتی است که تنها در صورت رخ دادن یک رویداد و یا از طریق فراخوانی اجرا می شوند. شما می توانید هر تابع را از هر جایی در صفحه فراخوانی کنید (یا حتی از صفحه های دیگر در صورتی که توابع را در یک فایل .js خارجی ذخیره کرده باشید.)
    توابع را هم می توانید در بخش <head> و هم بخش <body> تعریف کنید. هرچند برای اینکه مطمئن باشید که قبل از این که تابع فراخوانی شود حتماً خوانده و لود شده است بهتر است آن ها را در بخش <head> تعریف کنید.

    چگونه یک تابع را تعریف کنیم:
    دستور:
    کد:

    function functionname(var1,var2,...,varX)
    {
    some code
    }

    پارامترهای var1، var2 و ... متغیرها و یا مقادیری است که به تابع ارسال می شود. } و { ابتدا و انتهای یک تابع را مشخص می کند.

    نقل قول:نکته: اگر می خواهید تابع تعریف کنید که هیچ پارامتری نداشته باشد حتما باید یک () عد از نام تابع قرار دهید.​
    نقل قول:نکته: اهمیت اندازه حروف در جاوااسکریپت را فراموش نکنید! کلمه function باید با حروف کوچک نوشته شود، در غیر این صورا جاوااسکریپت از شما خطا می گیرد. ضمناً توجه کنید که شما باید هنگام فراخوانی تابع باید دقیقاً همان نام با همان اندازه حروف را برای فراخوانی استفاده کنید.​
    مثال:
    کد:

    <html>
    <head>
    <script type="text/javascript">
    function displaymessage()
    {
    alert("Hello World!");
    }
    </script>
    </head>
    <body>
    <form>
    <input type="button" value="Click me!" onclick="displaymessage()" />
    </form>
    </body>
    </html>

    اگر خط: alert("Hello world!!") در مثال بالا در تابع نوشته نشود هنگاهی که پنجره لود شود این خط اجرا می شود. حالا این دستور قبل از اینکه کاربر روی دکمه کلیک کند اجرا نمی شود. تابع displaymessage() وقتی اجرا می شود که کاربر روی دکمه کلیک کند.
    درباره رویدادها در جاوااسکریپت در بخش رویدادها بیشتر آشنا می شوید.(جلسه 17)

    دستور return
    دستور return برای مشخص کردن مقدار برگشتی از تابع به کار ی رود. پس توابعی که مقداری را برمی گردانند باید از دستور return استفاده نمایند.
    مثال زیر مقدار ضرب دو عدد (a و b) را نشان می دهد:
    کد:

    <html>
    <head>
    <script type="text/javascript">
    function product(a,b)
    {
    return a*b;
    }
    </script>
    </head>
    <body>
    <script type="text/javascript">
    document.write(product(4,3));
    </script>
    </body>
    </html>


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

    مثال های کمی پیشرفته تر:

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

    <html>
    <head>
    <script type="text/javascript">
    function myfunction(txt)
    {
    alert(txt);
    }
    </script>
    </head>
    <body>
    <form>
    <input type="button" onclick="myfunction('Hello')" value="Call function">
    </form>
    <p>By pressing the button above, a function will be called with "Hello" as a parameter. The function will alert the parameter.</p>
    </body>
    </html>



    تابعی که مقدار بر می گرداند: چگونه به یک تابع اجازه دهیم که یک مقدار برگردانند.
    کد:

    <html>
    <head>
    <script type="text/javascript">
    function myFunction()
    {
    return ("Hello world!");
    }
    </script>
    </head>
    <body>
    <script type="text/javascript">
    document.write(myFunction())
    </script>
    </body>
    </html>


    [HR][/HR]
     
  3. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش جاوااسکریپت در 34 جلسه

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

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

    حلقه for
    کد:

    for (variable=startvalue;variable<=endvalue;variable=variable+increment)
    {
    code to be executed
    }


    مثال:
    مثال زیر حلقه ای را تعریف می کند که از i=0 شروع شده، و تاز ماین که i کوچکتر یا مساوی 5 باشد ادامه می یابد. هر بار که حلقه اجرا می شود i یک واحد افزایش می یابد.
    نکته: پارامتر افزایش را می توان به کاهش تغییر داد و به جای <= می توان از هر عبارت مقیسه ای دیگر استفاده کرد.

    کد:

    <html>
    <body>
    <script type="text/javascript">
    var i=0;
    for (i=0;i<=5;i++)
    {
    document.write("The number is " + i);
    document.write("<br />");
    }
    </script>
    </body>
    </html>



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

    چرخیدن بین تگ های heading در HTML

    کد:

    <html>
    <body>
    <script type="text/javascript">
    for (i = 1; i <= 6; i++)
    {
    document.write("<h" + i + ">This is heading " + i);
    document.write("</h" + i + ">");
    }
    </script>
    </body>
    </html>

     
  4. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش جاوااسکریپت در 34 جلسه

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

    حلقه while
    کد:

    while (variable<=endvalue)
    {
    code to be executed
    }


    نقل قول:نکته: به جای <= می توان از هر عملگر مقایسه ای دیگر استفاده کرد.​
    مثال:
    واضح است که کد زیر چه می کند. نیاز به توضیح ندارد
    کد:

    <html>
    <body>
    <script type="text/javascript">
    var i=0;
    while (i<=5)
    {
    document.write("The number is " + i);
    document.write("<br />");
    i++;
    }
    </script>
    </body>
    </html>


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

    do
    {
    code to be executed
    }
    while (variable<=endvalue);

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

    <html>
    <body>
    <script type="text/javascript">
    var i=0;
    do
    {
    document.write("The number is " + i);
    document.write("<br />");
    i++;
    }
    while (i<=5);
    </script>
    </body>
    </html>

     
  5. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش جاوااسکریپت در 34 جلسه

    دستور break
    این دستور حلقه را شکسته و دستور بعد از حلقه (اگر وجود داشته باشد) را اجرا می کند.
    مثال:
    کد:

    <html>
    <body>
    <script type="text/javascript">
    var i=0;
    for (i=0;i<=10;i++)
    {
    if (i==3)
    {
    break;
    }
    document.write("The number is " + i);
    document.write("<br />");
    }
    </script>
    </body>
    </html>

    این دستور فقط تا i=3 پیش می رود با وجودی که در حلقه شرط تا i=10 است ولی به خاطر شرط if و دستور break فقط تا 3 پیش می رود.

    دستور continue
    دستور continue حلقه جاری را رها کرده و با مقدار بعدی ادامه میدهد.
    کد:

    <html>
    <body>
    <script type="text/javascript">
    var i=0
    for (i=0;i<=10;i++)
    {
    if (i==3)
    {
    continue;
    }
    document.write("The number is " + i);
    document.write("<br />");
    }
    </script>
    </body>
    </html>

    یعنی این مثال i=3 را نادیده می گیرد و بقیه را تا i=10 ادامه می د
     
  6. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش جاوااسکریپت در 34 جلسه

    آموزش جاوااسکریپت – جلسه شانزدهم: دستور for...in این دستور بین خصوصیت های یک شیء می چرخد.
    دستور:
    کد:

    for (variable in object)
    {
    code to be executed
    }


    نقل قول:نکته: دستور موجود در بدنه for...in برای هر خصوصیت یک بار اجرا می ود.​
    مثال:
    چرخیدن بین خصوصیت های یک شیء:
    کد:

    var person={fname:"Hussein",lname:"Jahanbakhsh Abkenar",age:24};
    for (x in person)
    {
    document.write(person[x] + " ");
    }

    خروجی کد بالا به صورت زیر خواهد بود:
    کد:

    Hussein Jahanbakhsh Abkenar 24

     
  7. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش جاوااسکریپت در 34 جلسه

    آموزش جاوااسکریپت – جلسه هفدهم: رویدادها Events
    رویدادها اعمالی هستند که جاوااسکریپت می تواند آن ها را کشف کند.

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

    <html>
    <head>
    <script type="text/javascript">
    function displayDate()
    {
    document.getElementById("demo").innerHTML=Date();
    }
    </script>
    </head>
    <body>
    <h1>My First Web Page</h1>
    <p id="demo"></p>
    <button type="button" onclick="displayDate()">Display Date</button>
    </body>
    </html>

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

    نقل قول:نکته: رویدادها معمولاً به همراه توابع به کار می روند، و تابع تا زمانی که رویدادی رخ ندهد اجرا نمی شود.​
    onLoad و onUnload:
    این دو رویداد زمانی رخ می دهد که یک کاربر وارد یک صفحه یا از آن خارج شود. رویداد onLoad اصولا برای این به کار می رود که نوع و نسخه مرورگر کاربر را شناسایی کرده و نسخه ای از صفحه که مناسب آن مورگر است نمایش دهد.
    هر دوی این رویدادها برای دستیابی به کوکی ها (http://fa.wikipedia.org/wiki/%DA%A9%D9%8...%BE%DB%8C) به کار می رود که باید در زمان ورود یا خروج کاربر از صفحه تنظیم شوند. مثلاً ممکن است شما یک پنجره پاپ آپ داشته باشید که وقتی کاربری برای اولین بار به سایت مراجعه می کند در آن نام کاربر را بپرسید. این نام سپس در کوکی ذخیره می شود و مثلاً در زمان بعدی که کاربر می آید به او یک پیغام خوشا آمد بصورت "حسین جهانبخش خوش آمدی" نشان می دهیم.

    onFocus، onChange و onBlur
    این سه رویداد معمولاً برای تعیین اعتبار فیلدهای فرم به کار می روند. مثال زیر نحوه استفاده از onChange را نشان می دهد. تابع chackEmail() زمانی اجرا می شود که کاربر محتویات فیلد را تغییر دهد:
    کد:

    <input type="text" size="30" id="email" onchange="checkEmail()">


    onSubmit
    این رویداد برای تعیین اعتبار تمام فیلدهای فرم قبل از ارسال آن فرم به سرور (submit شدن) به کار می رود.
    مثال زیر نحوه استفاده از آن را نشان می دهد. تابع chackForm() زمانی فراخوانی می شود که کاربر روی دکمه Submit کلیک کند. اگر مقادیر فیلدها نا معتبر باشد ارسال باید متوقف شود. تابع chackForm() یا true و یا false برمیگرداند. اگر true برگرداند فرم ارسال می ش.د در خیر این صورت ارسال لغو می شود.
    کد:

    <form method="post" action="xxx.htm" onsubmit="return checkForm()">


    onMouseOver
    با یک مثال کارکرد این رویداد را نشان می دهم:
    کد:

    <html>
    <head>
    <script type="text/javascript">
    function writeText(txt)
    {
    document.getElementById("desc").innerHTML=txt;
    }
    </script>
    </head>
    <body>
    <img src ="planets.gif" width ="145" height ="126" alt="Planets" usemap="#planetmap" />
    <map name="planetmap">
    <area shape ="rect" coords ="0,0,82,126"onmouseover="writeText('The Sun and the gas giant planets like Jupiter are by far the largest objects in our Solar System.')"href ="sun.htm" target ="_blank" alt="Sun" />
    <area shape ="circle" coords ="90,58,3"
    onmouseover="writeText('The planet Mercury is very difficult to study from the Earth because it is always so close to the Sun.')" href ="mercur.htm" target ="_blank" alt="Mercury" />
    <area shape ="circle" coords ="124,58,8" onmouseover="writeText('Until the 1960s, Venus was often considered a twin sister to the Earth because Venus is the nearest planet to us, and because the two planets seem to share many characteristics.')" href ="venus.htm" target ="_blank" alt="Venus" />
    </map>
    <p id="desc">Mouse over the sun and the planets and see the different descriptions.</p>
    </body>
    </html>

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

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش جاوااسکریپت در 34 جلسه

    آموزش جاوااسکریپت – جلسه هجدهم: مدیریت خطاها با try...catch
    دستور try...catch به شما اجازه می دهد که بررسی کنید یک مجموعه کد خطا دارد یا نه.

    جاوااسکریپت – دسترسی به خطاها
    گاهی که در حال گشت و کذار در اینترنت هستید پنجره های هشداری ظاهر می شود و می گوید که یک سری خطای زمان اجرا رخ داده است و می پرسد: "Do you wish to debug?" فکر می کنم تا به حال پیش آمده باشد گه یک چنین خطایی را دیده باشید. این پیام ها برای توسعه دهندگان صفحه وب شاید مفید باشد ولی قطعاً برای کاربران مفید نیست. زمانی که کاربران این خطاها را می بینند معمولاً از آن صفحه خارج می شوند!!!
    در این جلسه به شما یاد می دهم که چگونه به خطاها پی برده و به آنها دسترسی پیدا کرده و آنها را مدیریت کنید؛ اینگونه شما بینندگانتان را از دست نخواهید داد.

    دستور try...catch
    این دستور به شما اجازه می دهد مجموعه (بلاک) کدی را برای پی بردن به خطاها بررسی کنید. بلاک مربوط به try همان کدهایی است که باید اجرا شود و بلاک catch شامل کدهایی است که در صورت به وجو آمدن خطا باید اجرا شوند.
    دستور:
    کد:

    try
    {
    //Run some code here
    }
    catch(err)
    {
    //Handle errors here
    }

    توجه کنید که try...catch هر دو با حروف کوچک نوشته می شوند. اگر از حروف بزرگ استفاده کنید جاوااسکریپت از شما خطا می گیرد!
    مثال ها:
    مثال زیر یک پنجره هشدار با متن "Welcome guest!" را در صورت کلیک کاربر روی دکمه به او نشان می دهد. البته برای اینکه خطایی رخ دهد ما به جای دستور alert() از دستور adddlert() استفاده کرده ایم که دستوری اشتباه است و باعث ایجاد یک خطا می شود. بلاک catch خطا را گرفته و دستورات دلخواهی را برای مدیریت آن اجرا می کند. این کد اطلاعات دلخواهی درباره خطا نشان می دهد و به کاربر می گوید که چه اتفاقی رخ داده است:
    کد:

    <html>
    <head>
    <script type="text/javascript">
    var txt="";
    function message()
    {
    try
    {
    adddlert("Welcome guest!");
    }
    catch(err)
    {
    txt="There was an error on this page.\n\n";
    txt+="Error description: " + err.description + "\n\n";
    txt+="Click OK to continue.\n\n";
    alert(txt);
    }
    }
    </script>
    </head>
    <body>
    <input type="button" value="View message" onclick="message()" />
    </body>
    </html>

    مثال بعدی از یک جعبه تایید (Confirm Box) استفاده می کند و کاربران می توانند با کلیک روی OK صفحه را ببینند و یا با کلیک روی Cancel به صفحه اصلی بروند. اگر جعبه تایید مقدار false را برگرداند کاربر روی Cancel کلیک کرده و کد کاربر را به صفحه اصلی ارجاع می دهد. اگر این جعبه تایید مقدار true برگرداند کد هیچ کاری نمی کند:
    کد:

    <html>
    <head>
    <script type="text/javascript">
    var txt="";
    function message()
    {
    try
    {
    adddlert("Welcome guest!");
    }
    catch(err)
    {
    txt="There was an error on this page.\n\n";
    txt+="Click OK to continue viewing this page,\n";
    txt+="or Cancel to return to the home page.\n\n";
    if(!confirm(txt))
    {
    document.location.href="http://www.husseinjahan.mihanblog.com/";
    }
    }
    }
    </script>
    </head>
    <body>
    <input type="button" value="View message" onclick="message()" />
    </body>
    </html>


    دستور throw
    این دستور را می توان با دستور try...catch برای ساخت یک استثناء (Exception) برای خطا استفاده نمود که در جلسه بعدی به آن می پردازم.
     
  9. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش جاوااسکریپت در 34 جلسه

    از دستور throw برای ایجاد یک استثنا استفاده می شود.
    دستور Throw
    این دستور برای ساخت استثناها به کار می رود. اگر از این دستور به همراه try...catch استفاده شود شما می توانید جریان برنامه را کنترل کرده و پیام های خطای بهتری را تولید کنید.
    دستور:
    کد:

    throw exception

    exception می تواند یک رشته (string)، عدد (Integer)، بولین (Boolean) و یا یک شیء (Object) باشد.
    به کوچک بودن حروف throw نیز دقت کنید.
    مثال:
    مثال زیر مقدار متغیر x را نشان می دهد. اگر قدار x بزرگ تر از 10 باشد، کوچک تر از 0 باشد و یا اینکه اصلاً عدد نباشد ما یک خطا ارسال می کنیم. این خطا توسط catch گرفته شده و پیغام خطای مناسب را نمایش می دهد:
    کد:

    <html>
    <body>
    <script type="text/javascript">
    var x=prompt("Enter a number between 0 and 10:","");
    try
    {
    if(x>10)
    {
    throw "Err1";
    }
    else if(x<0)
    {
    throw "Err2";
    }
    else if(isNaN(x))
    {
    throw "Err3";
    }
    }
    catch(er)
    {
    if(er=="Err1")
    {
    alert("Error! The value is too high");
    }
    if(er=="Err2")
    {
    alert("Error! The value is too low");
    }
    if(er=="Err3")
    {
    alert("Error! The value is not a number");
    }
    }
    </script>
    </body>
    </html>

     
  10. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش جاوااسکریپت در 34 جلسه

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

    var txt="We are the so-called "Vikings" from the north.";
    document.write(txt);

    در جاوااسکریپت رشته ها داخل یک علامت کوتیشن (‘) یا جفت کوتیشن (") قرار می دهند. این به این معنی است که مثال بالا به صورت We are the so-called بریده می شود.
    برای حل این مشکل شما باید یک (\) {backslash} قبل از هر جفت کوتیشن "Viking" قرار دهید. این کار باعث می شوند هر دو جفت کوتیشن تبدیل به عنصر متن شوند.
    کد:

    var txt="We are the so-called \"Vikings\" from the north.";
    document.write(txt);

    حالا دیگر جاوا اسکریپت متن مورد نظر ما را کامل نشان می دهد: We are the so-called "Vikings" from the north.
    برای نشان دادن هر یک از موارد زیر باید از بک اسلش (\) استفاده کنید:
    '\ نقل قول تکی
    "\ نقل قول جفتی
    \\ بک اسلش
    n\ خط جدید
    r\ رفتن به سر سطر
    t\ فاصله به اندازه تب
    b\ بک اسپیس
    f\ رفتن به ابتدای صفحه بعد