Jenis Awalan dan Akhiran dalam JavaScript

Sebenarnya operasi penokokan dan penurunan boleh ditulis dalam dua cara. Mari kita kaji cara-cara ini menggunakan contoh ++, dan untuk -- semuanya adalah serupa.

Dalam cara pertama, operasi ditulis selepas nama pembolehubah, seperti ini: a++, dan dalam cara kedua - sebelum nama pembolehubah, seperti ini: ++a.

Bentuk pertama dipanggil akhiran, dan bentuk kedua - awalan. Mari kita lihat, dalam kes apakah perbezaan antara kedua-dua bentuk ini muncul.

Katakan kita ada kod alert(a++) dan kod alert(++a).

Dalam kes alert(a++), pembolehubah pertama akan dipaparkan, kemudian akan ditokokkan dengan satu, manakala dalam kes alert(++a) pembolehubah pertama akan ditokokkan dengan satu, kemudian baru dipaparkan.

Dalam contoh berikut, alert pertama akan memaparkan 0, kerana paparan pada skrin akan berlaku terlebih dahulu, dan kemudian barulah pembolehubah ditokokkan:

javascriptlet num = 0;
alert(num++); // akan memaparkan 0
alert(num);   // akan memaparkan 1

Dan sekarang pembolehubah akan ditokokkan terlebih dahulu, dan kemudian barulah paparan pada skrin:

javascriptlet num = 0;
alert(++num); // akan memaparkan 1 - pembolehubah ditokokkan serta-merta

Kelakuan ini bukan sahaja berlaku untuk paparan pada skrin, tetapi juga untuk penetapan:

javascriptlet num1 = 0;
let num2 = num1++; // nilai 0 akan ditulis ke dalam pembolehubah num2
alert(num2); // akan memaparkan 0
alert(num1); // akan memaparkan 1 - pembolehubah num1 berubah selepas ditulis ke num2

Dan sekarang mari kita tukar bentuk akhiran kepada bentuk awalan:

javascriptlet num1 = 0;
let num2 = ++num1; // nilai 1 akan ditulis ke dalam pembolehubah num2
alert(num2); // akan memaparkan 1

Jika operasi kita dilakukan pada baris yang berasingan, maka tiada perbezaan antara bentuk awalan dan akhiran:

javascriptlet num = 0;
++num;
num++;
alert(num); // akan memaparkan 2
Задание 1

Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:

javascriptlet num = 3;
alert(++num);
Задание 2

Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:

javascriptlet num = 3;
alert(num++);
Задание 3

Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:

javascriptlet num = 3;
alert(--num);
Задание 4

Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:

javascriptlet num = 3;
alert(num--);
Задание 5

Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:

javascriptlet num1 = 3;
let num2 = ++num1;
alert(num1);
alert(num2);
Задание 6

Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:

javascriptlet num1 = 3;
let num2 = num1++;
alert(num1);
alert(num2);
Задание 7

Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:

javascriptlet num1 = 3;
let num2 = --num1;
alert(num1);
alert(num2);
Задание 8

Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:

javascriptlet num1 = 3;
let num2 = num1--;
alert(num1);
alert(num2);
Задание 9

Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:

javascriptlet num1 = 3;
num1++;
let num2 = num1--;
alert(num1++);
alert(--num2);