1. Operator univariat
1. Operator penangkapan diri dan penangguhan diri: dibagi menjadi front-end dan ujung belakang;
Pra-tipe: ++ a;-a;
Post-type: a ++; A--;
contoh:
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
var a, b, i = 1, j = 1;
a = i ++;
b = ++ j;
peringatan ("a ="+a+", i ="+i+", b ="+b+", j ="+j); // a = 1, i = 2, b = 2, j = 2
</script>
di mana a = i ++ setara dengan a = i; i = i+1;
Dan b = ++ j, setara dengan j = j+1; b = j;
2. Penambahan dan pengurangan operator unary: a =+i; a = -i;
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
var a, b, i = 1, j = 1;
a =+i;
b = -j;
alert ("a ="+a+", i ="+i+", b ="+b+", j ="+j); // a = 1, i = 1, b = -1, j = 1
</script>
Untuk bilangan bulat, pengurangan satu digit setara dengan mengambil angka negatif.
2. Operator bit
1. Bitwise non-~ (tidak)
Tidak, yaitu, terbalik semua angka dalam bentuk biner.
Penggunaan Umum: Operasi bit tidak pada dasarnya adalah angka negatif dan kemudian kurangi 1
2. Bitwise atau | (ATAU)
Atau, yaitu, semua angka dan angka target bitwise atau dioperasikan dalam bentuk biner.
Penggunaan Umum: Biasanya digunakan untuk penugasan tanpa syarat dari angka biner. Misalnya: angka | 1 setara dengan angka ganjil yang paling dekat dengan nomor saat ini.
3. Bitwise & & (dan)
Dan, yaitu, semua angka dan angka target adalah bitwise dalam bentuk biner.
Penggunaan Umum: Biasanya digunakan untuk operasi bit bit biner, seperti: angka & 1, jika hasilnya 0, itu adalah angka genap, dan jika 1, itu adalah angka ganjil.
4. Bitwise xor^ (xor)
Eksklusif atau berarti bahwa semua angka dibandingkan dengan angka target dalam bentuk biner. Hanya dua angka yang berbeda, yaitu, hanya satu digit toko 1 ketika 1 adalah 1, dan mengembalikan 0 jika dua angka sama.
Penggunaan Umum: Operasi terbalik dari operasi XOR adalah sendiri, yaitu, hasil akhir dari nomor XOR tidak berubah dua kali. Dapat digunakan untuk enkripsi sederhana, atau operasi numerik interaktif.
5. Bergerak ke kiri <<
Bergerak ke kiri, yaitu, pindahkan semua angka ke kiri dalam bentuk biner, gerakkan jumlah digit yang sesuai, pindahkan posisi tinggi (buang), dan isi posisi nol di posisi rendah. Bergerak ke kiri tidak akan mempengaruhi bit tanda.
Signifikansi Matematika: Dengan premis bahwa angka tidak meluap, untuk angka positif dan negatif, bergeser yang tersisa setara dengan dikalikan dengan 2 dengan kekuatan 1, dan menggeser bit N kiri setara dengan dikalikan dengan 2 dengan kekuatan n.
6. Bergerak ke kanan
6.1 SHIFT KANAN YANG DITERBITKAN >>: Artinya, pindahkan semua nilai ke kanan dalam bentuk biner tetapi mempertahankan bit tanda.
Signifikansi Matematika: Dengan premis bahwa angka tidak meluap, untuk angka positif dan negatif, menggeser hak satu setara dengan membagi dengan 2 dengan kekuatan pertama, dan menggeser bit N kanan setara dengan membagi dengan 2 dengan kekuatan N.
6.2 Pergeseran Kanan yang Tidak Ditandatangani >>>: Artinya, pindahkan semua nilai, termasuk bit tanda, ke kanan dalam bentuk biner.
Untuk bilangan positif, hasilnya sama;
Untuk angka negatif, karena angka negatif diwakili dalam pelengkap nilai absolutnya, hasilnya akan sangat besar ketika pergeseran kanan tanpa tanda.
3. Operator Boolean
1. Logis non-logis!
Logika tidak berguna! Menunjukkan bahwa segala jenis nilai dengan ecmascript dapat diterapkan, dan non-operasi logis mengembalikan nilai boolean (benar/false). Operator pertama -tama mengubah operannya menjadi nilai boolean dan kemudian membalikkannya.
Lai Lai Setara dengan fungsi boolean ().
Satu set aturan untuk fungsi transformasi boolean ().
Nilai yang dikonversi menjadi true dikonversi menjadi false
Booleanttruefalse
String string apa pun yang tidak kosong "" (string kosong)
Nomor nilai numerik non-nol (termasuk infinity) 0 dan nan
Objek objek apa pun nol
Tidak terdefinisi tidak ada yang tidak terdefinisi
2. Logika dan &&
Ada dua operan untuk logika dan ada dua operan.
Logika dan operasi dapat diterapkan pada semua jenis operan, bukan hanya boolean. Ketika operan bukan boolean, logika dan operasi tidak harus mengembalikan boolean; Saat ini, mengikuti aturan berikut:
1. Jika operan pertama adalah objek, operan kedua dikembalikan;
2. Jika operan kedua adalah objek, objek hanya akan dikembalikan jika hasil evaluasi dari operan pertama benar;
3. Jika kedua operator adalah objek, operan kedua dikembalikan; Ikuti aturan pertama.
4. Jika operan nol, kembalikan nol;
5. Jika operan adalah Nan, return nan;
6. Jika operan tidak ditentukan, tidak ditentukan dikembalikan.
Logika dan operasi adalah operasi hubung singkat, yaitu, jika operan pertama dapat menentukan hasilnya, maka operan kedua tidak akan dievaluasi lagi. (Ini dapat dipahami sebagai dua operasi pengembalian internal). Oleh karena itu, ketika aturan 4, 5, dan 6 konflik, prinsip operasi hubung singkat diikuti.
Salinan kode adalah sebagai berikut:
var nul = null;
var na = nan;
tes var;
test = na && nul;
Document.write (tes); // nan
Salinan kode adalah sebagai berikut:
var nul = null;
var na = nan;
tes var;
test = nul && na;
Document.write (tes); //batal
3. Logis atau ||
Logis atau memiliki dua operan.
Logis atau mirip dengan logika, operasi dapat diterapkan pada jenis operan apa pun, bukan hanya boolean. Dalam kasus di mana operan bukan boolean, logika atau operasi tidak selalu mengembalikan boolean; Saat ini, mengikuti aturan berikut:
1. Jika operan pertama adalah objek, operan pertama dikembalikan;
2. Jika hasil operan pertama salah, operan kedua dikembalikan;
3. Jika kedua operator adalah objek, operan pertama dikembalikan, mengikuti aturan pertama.
4. Jika kedua operan itu nol, kembalikan nol;
5. Jika kedua operan itu nan, return nan;
6. Jika kedua operan tidak ditentukan, tidak ditentukan dikembalikan.
Logika atau operasi adalah operasi hubung singkat, yaitu, jika hasil operan pertama benar, maka operan kedua tidak akan dievaluasi lagi.
Kita dapat menggunakan properti logika ini atau untuk menghindari menetapkan nilai nol atau tidak ditentukan ke variabel
Misalnya: var myobject = firstObject || decondObject
Jika FirstObject tidak nol, FirstObject ditetapkan untuk MyObject, jika tidak nilai SecondObject ditetapkan untuk MyObject.
Konten di atas adalah semua tentang artikel ini, saya harap ini akan membantu semua orang