جاواسکریپت: ۷- کاندیشن ۲
شرط – 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 را میتوانید تغییر دهید.
- یک عدد را بگیرد و چک کند، آن میتواند یک کد ملی باشد یا نه.
- الگوریتم تشخیص درستی شماره ملی