JavaScript-ում նախածանցի և հետֆիքսի տեսակը
Իրականում ավելացման և նվազեցման գործողությունները կարող են գրվել երկու ձևով. Եկեք նայենք այս մեթոդներին, օգտագործելով ++
որպես օրինակ, իսկ --
decrement-ի համար ամեն ինչ նույնը կլինի:
Առաջին մեթոդում գործողությունը գրվում է փոփոխականի անունից հետո, այսպես՝ a++
, իսկ երկրորդ մեթոդում՝ փոփոխականի անվան առաջ, այսպես՝ ++a
.
Առաջին ձևը կոչվում է postfix, իսկ երկրորդը կոչվում է Prefix: Տեսնենք, թե ինչ դեպքերում է դրսևորվում այս երկու ձևերի տարբերությունը։
ենթադրենք ունենք alert(a++)
և alert(++a)
արժեքներով ֆունկցիանեը.
alert(a++)
-ի դեպքում փոփոխականը սկզբում ցուցադրվում է, այնուհետև ավելանում է մեկով, իսկ alert(++a)
-ի դեպքում փոփոխականը սկզբում ավելանում է մեկը, ապա ցուցադրվում է:
Հետևյալ օրինակում առաջին alert
-ը կտպի 0
, քանի որ նախ էկրանին կտիպի, այնուհետև փոփոխականը կավելանա.
let num = 0;
alert(num++); // Կստանաք 0
alert(num); // Կստանաք 1
Եվ հիմա փոփոխականը նախ կավելանա, և միայն դրանից հետո էկրանին ելք կլինի.
let num = 0;
alert(++num); // Կստանաք 1 - փոփոխականն անմիջապես ավելացավ
Այս վարքագիծը վավեր է ոչ միայն ցուցադրման, այլև հանձնարարության համար.
let num1 = 0;
let num2 = num1++; // փոփոխական num2-ի մեջ գրում ենք 0
alert(num2); // Կստանաք 0
alert(num1); // Կստանաք 1 - փոփոխական num1 կփոխվի վերագրումից հետո num2
Այժմ եկեք փոխենք postfix-ից Prefix-ի ձևի. А теперь поменяем постфиксную форму на префиксную:
let num1 = 0;
let num2 = ++num1; // в переменную num2 запишется 1
alert(num2); // Կստանաք 1
Եթե մեր գործողությունը կատարվում է առանձին տողով, ապա Prefix և postfix ձևերի միջև տարբերություն չկա.
let num = 0;
++num;
num++;
alert(num); // Կստանաք 2
Առանց կոդը գործարկելու, որոշեք, թե ինչ կցուցադրվի էկրանին.
let num = 3;
alert(++num);
Առանց կոդը գործարկելու, որոշեք, թե ինչ կցուցադրվի էկրանին.
let num = 3;
alert(num++);
Առանց կոդը գործարկելու, որոշեք, թե ինչ կցուցադրվի էկրանին.
let num = 3;
alert(--num);
Առանց կոդը գործարկելու, որոշեք, թե ինչ կցուցադրվի էկրանին.
let num = 3;
alert(num--);
Առանց կոդը գործարկելու, որոշեք, թե ինչ կցուցադրվի էկրանին.
let num1 = 3;
let num2 = ++num1;
alert(num1);
alert(num2);
Առանց կոդը գործարկելու, որոշեք, թե ինչ կցուցադրվի էկրանին.
let num1 = 3;
let num2 = num1++;
alert(num1);
alert(num2);
Առանց կոդը գործարկելու, որոշեք, թե ինչ կցուցադրվի էկրանին.
let num1 = 3;
let num2 = --num1;
alert(num1);
alert(num2);
Առանց կոդը գործարկելու, որոշեք, թե ինչ կցուցադրվի էկրանին.
let num1 = 3;
let num2 = num1--;
alert(num1);
alert(num2);
Առանց կոդը գործարկելու, որոշեք, թե ինչ կցուցադրվի էկրանին.
let num1 = 3;
num1++;
let num2 = num1--;
alert(num1++);
alert(--num2);