Rumah > Soal Jawab > teks badan
Jika n dan guard tidak wujud, n==null adalah benar Dalam operator ternary, guard tidak ditentukan Jika nilai Boolean ditukar kepada false, ia akan sama dengan n, iaitu, undefined dikembalikan pada akhirnya. .
Tetapi kenapa ia kembali 1?
var test=function(array,n,guard){
return (n==null || guard ? 1 : n);
};
console.log(test([]));//1
仅有的幸福2017-05-19 10:35:27
Pertama sekali, anda salah faham susunan operasi
var test=function(array,n,guard){
return (n==null || guard ? 1 : n);
};
console.log(test([]));//1
|| (logik ATAU) keutamaan operasi lebih besar daripada pengendali ternary
Jadi (n==null || guard ? 1 : n) di sini mula-mula mengira logik OR, dan kemudian mengira pengendali ternary
di sini menjadi true ? 1 : n
jadi outputnya adalah n
Juga dilampirkan gambar keutamaan operasi, saya tidak ingat dari mana hendak bermula Ia dipotong dari buku
巴扎黑2017-05-19 10:35:27
var test=function(array,n,guard){
console.log(n==null);//true
return (n==null || guard ? 1 : n);
};
console.log(test([]));//1
||Keutamaan lebih tinggi daripada trinokular, jadi adakah (benar || guard) 1: n ===>