۷- کاندیشن ۲

شرط – Conditions

در جاواسکریپت شرط را به سه گونه می‌توان نوشت.

  • ?
  • if
  • Switch

همه آنها را باید یاد گرفت و در هر جایی آن روشی را که ساده‌تر است، به کار برد.

سوئیچ – Switch

Switch جایگزین چند if می‌شود.


if (exp === val1) {

    ...

} else if (exp === val2) {

    ...

} else if (exp === val3) {

    ...

}

...

} else {
    ...
}


switch (exp) {
    case val1: // if (exp === val1)
        ...
        break;
    
    case val2: // if (exp === val2)
        ...
        break;

    case val3: // if (exp === val3)
        ...
        break;

    ...
    
    default: // else
        ...
    }

اگر break را ننویسید، کد تا break بعدی بدون توجه به شرط‌ها اجرا می‌شود.

مثال

HTML

<input type="text" id="in-box">
<button id="btn">OK</button>        
<h1 id="out-box"></h1>    

JS

const inBox = document.getElementById("in-box");
const outBox = document.getElementById("out-box");
const btn = document.getElementById("btn");

btn.onclick = function() {
    let grade = inBox.value;
    let msg; 
    switch (grade) {
        case 'A':
            msg = "Excellent";
            break;
        case 'B':
            msg = "Good";
            break;
        case 'C':
            msg = "Fair";
            break;
        case 'D':
            msg = "Poor";
            break;
        case 'E':
        case 'F':
            msg = "Failed";
            break;
        default:
            msg = "Unknown grade";
    }
    outBox.innerHTML = msg;
}

مثال

HTML

<input type="text" id="in-box">
<button id="btn">OK</button>        
<h1 id="out-box"></h1>    

JS

const inBox = document.getElementById("in-box");
const outBox = document.getElementById("out-box");
const btn = document.getElementById("btn");

btn.onclick = function() {
    let point = inBox.value;
    let msg; 
    switch (true) {
        case point > 100 || point < 0:
            msg = "Out of range";
            break;
        case point >= 90:
            msg = "Excellent";
            break;
        case point >= 80:
            msg = "Good";
            break;
        case point >= 70:
            msg = "Fair";
            break;
        case point >= 60:
            msg = "Poor";
            break;
        case point >= 0:
            msg = "Failed";
            break;
        default:
            msg = "Not a number";
    }
    outBox.innerHTML = msg;
}

تمرین ۱

  • این فایل را دانلود کنید.
  • آن را در فولدر js1 باز کنید.
  • تنها فایل script.js را می‌توانید تغییر دهید.
  • اسکریپتی بنویسید تا مثل ویدیوی زیر عمل کند.

تمرین ۲

  • این فایل را دانلود کنید.
  • آن را در فولدر js1 باز کنید.
  • تنها فایل script.js را می‌توانید تغییر دهید.
  • اسکریپتی بنویسید تا مانند یک ماشین حساب کار کند.



String

آبجکت String با مقادیر استرینگ کار می‌کند.

String.length

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


s = "Nikparvar High School";

l = s.length;        // l = 21
//-------------------------------------
n = 20;

l = n.length;        // l = undefined
//-------------------------------------
b = true;

l = b.length;        // l = undefined

String.trim( )

فضای خالی دو طرف استرینگ را حذف می‌کند.

  • افقی: space, tab
  • عمودی: LF, CR

String.trim( )


s = "      Nikparvar";

t = s.trim();        // t = "Nikparvar"
//-------------------------------------
s = "Nikparvar      ";

t = s.trim();        // t = "Nikparvar"
//-------------------------------------
s = "   Nikparvar   ";

t = s.trim();        // t = "Nikparvar"
//-------------------------------------
s = `
Nikparvar
High
School`;

t = s.trim();        // t = `Nikparvar
                     //      High
                     //      School`  

String.substr(start, length)

بخشی از استرینگ را برمی‌گرداند.

  • شمارش کاراکترها از عدد صفر آغاز می‌شود.
  • اعداد منفی از انتها شمرده می‌شود.

s = "Nikparvar High School";

t = s.substr(0,3);         // t = "Nik"

t = s.substr(-4,3);        // t = "hoo"

t = s.substr(25,1);        // t = ""

t = s.substr(5,-1);        // t = ""

String.search(str)

جای str را در میان استرینگ مشخص می‌کند.


s = "Nikparvar";

p = s.search("Nik");         // p = 0

p = s.search("nik");         // p = -1

p = s.search("a");           // p = 4

String.replace(str1,str2)

str1 را با str2 جایگزین می‌کند.


s = "Nikparvar";

new = s.replace("Nik", "nik");         // new = "nikparvar"

new = s.replace("a", "_");             // new = "Nikp_rvar"

new = s.replace("M", "_");             // new = "Nikparvar"



تمرین ۳

  • این فایل را دانلود کنید.
  • آن را در فولدر js1 باز کنید.
  • تنها فایل script.js را می‌توانید تغییر دهید.
  • یک عدد را بگیرد و چک کند، آن می‌تواند یک کد ملی باشد یا نه.
  • الگوریتم تشخیص درستی کد ملی