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);
ambyenru