АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
⊗jsPmBsPPT 60 of 505 menu

Прэфіксны і постфіксны тып у JavaScript

На самой справе аперацыі інкрэменту і дэкрэменту можна запісваць двума спосабамі. Давайце разгледзім гэтыя спосабы на прыкладзе ++, а для -- усё будзе аналагічна.

У першым спосабе аперацыя запісваецца пасля імені зменнай, вось так: a++, а ў другім спосабе - перад іменем зменнай, вось так: ++a.

Першая форма называецца постфікснай, а другая - прэфікснай. Давайце паглядзім, у якіх выпадках праяўляецца розніца паміж гэтымі двума формамі.

Хай у нас ёсць код 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 запiшацца 0 alert(num2); // выведзе 0 alert(num1); // выведзе 1 - зменная num1 змянілася пасля запісу ў num2

А цяпер зменім постфіксную форму на прэфіксную:

let num1 = 0; let num2 = ++num1; // у зменную num2 запiшацца 1 alert(num2); // выведзе 1

Калі нашая аперацыя выконваецца на асобнай радку, то розніцы паміж прэфікснай і постфікснай формамі няма:

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