آموزش جاوا اسکریپت javascript قسمت هشتم
ثوابت:
const n = 100;
عملگرهای محاسباتی:
x = y + 2;
2 لیترال می باشد.
- = (انتساب) مثال: x = y
- =+ (انتساب جمع) مثال: x += y معادل x = x + y
- =- (انتساب تفریق) مثال: x -= y معادل x = x - y
- =* (انتساب ضرب) مثال: x *= y معادل x = x * y
- =/ (انتساب تقسیم) مثال: x /= y معادل x = x / y
- =% (انتساب باقیمانده) مثال: x %= y معادل x = x % y
- عملگرهای مقایسه ای یا رابطه ای:
عملگرهای منطقی:
- ! (نقیص -not) مثال: x!
- && (و – and) مثال: x && y
- || (یا – or) مثال: x || y
عملگرهای رشته ای:
var s = "Hello" + " World! "; // a = Hello World!
عملگر شرطی ?
var a, x = 5, y = 10;
a = x < y ? x * 3 : x * 5;
ابتدا عبارت x < y بررسی میشود و چون x کوچکتر از y است مقدار x * 3 در متغیر a قرار میگیرد. در صورتی که شرط برقرار نباشد مقدار بعد از : یعنی x * 5 درون متغیر قرار میگیرد.
a = (x = 5), x * 10;
ابتدا مقدار 5 را به متغیر x انتساب می کند و بعد از آن مقدار x * 10 را در متغیر a قرار می دهد. در نتیجه مفدار متغیر a برابر 50 خواهد شد.
دستور if:
if (شرط) }
// some code
{
ساختاردوم:
if (شرط) }
// some code
{
else }
// some code
{
ساختار سوم:
if (شرط 1) }
// some code
{
else if (شرط 2) }
// some code
{
...
Else}
// some code
{
عبارتی که به عنوان شرط جلوی if قرار میگیرد می بایست یک مقدار Boolean یا یک مقدار عددی برگرداند. در صورتی که مقدار این عبارت برابر false یا صفر بود عبارات درون بلاک if اجرا نمی شوند و در غیر اینصورت به این معنی است که شرط برقرار است و عبارات درون بلاک if اجرا خواهند شد. در صورتی که شرط برقرار نباشد و این شرط دارای else باشد به سراغ آن رفته، اگر مجددا شرط داشته باشد، شرط بررسی شده در غیر اینصورت دستورات درون بلاک else اجرا خواهند شد.
دستور switch:
switch (exp) {
case “value1”:
// some code 1
break;
…
case “value”:
// some code n
break;
default:
// some code
}
اگر مقدار exp برابر value1 باشه دستورات some code 1 اجرا خواهد شد و همینطور الا آخر، اما در صورتی که مقدار exp برابر هیچکدام از مقادیر ارائه شده در case ها نباشد دستورات مربوط به default اجرا خواهد شد.
switch (exp){
case “value1”:
case “value2”:
// some code 1
break;
…
case “value”:
// some code n
break;
default:
// some code
}
بدین گونه هم زمانی که مقدار exp برابر value1 باشد و هم زمانی که برابر value2 باشد دستورات some code 1 اجرا میشود.
ساختار تکرار:
دستور for:
for (مقدار اولیه اندیس حلقه; شرط حلفه; گام افزایش) {
…
}
مثال:
for (var i = 0; i < 5; i++){
…
}
نکته اول: توجه کنید که حتما متغیر i را با استفاده از کلمه کلیدی var تعریف کنید. زیرا از شما خطا نمیگیرد اما محاسبات شما را به هم میزند. چون در صورت تعریف نشدن متغیر آن را متغیر سراسری در نظر میگیرد. (البته در صورت استفاده از use strict به شما خطا بر میگرداند).
var l = arr.length;
for (var i = 0; i < l; i++){
…
}
دستور for in:
var obj = { name: “Ali”, family: ”Karimi” };
for (var index in obj){
alert(index + “: “ + obj[index]); // return “name: Ali” at the first time
}
بدین صورت عمل می کند که در اولین بار name درون index قرار میگیرد و با استفاده از آن میتوان به مقدار آن در شئ obj دسترسی پیدا کرد. در مرتبه دوم family درون index قرار میگیرد.
var arr = [ “Ali”, ”Karimi”];
for (var index in arr){
alert(index + “: “ + arr [index]); // return “0: Ali” at the first time
}
همانطور که ملاحظه میکنید در آرایه مقدار index برابر اندیس ها در آرایه خواهد شد.
دستور while و do while
while (شرط){
…
}
ساختار دستور do while:
do
…
} while (شرط);
این دو دستور هم تا زمانی که شرط آنها برقرار باشد کدهای درون بلاک خود را اجرا میکنند. تفاوت این دو در این است که دستور while از همان ابتدا شرط را بررسی میکند و در صورت برقرار نبودن بدنه آن اجرا نمی شود، اما دستور do while ابتدا یکبار بدنه آن اجرا میشود و برای اجرای دور دوم به بعد شرط آن بررسی میشود.
دستورات break و continue
برچسب دستورات:
loopX:
for(var x = 0; x < 10; x++){
for (var y = 0; y < 10; y++){
document.write("(" + x + "," + y +")");
if (x == 3 && y == 8)
break loopX;
}
document.write("<br>");
}
در جلسه آینده به مباحث شئ گرایی در جاوااسکریپت خواهیم پرداخت
نظرات کاربران