javascript - masalah dengan operasi operator
怪我咯
怪我咯 2017-05-19 10:33:27
0
2
513

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
怪我咯
怪我咯

走同样的路,发现不同的人生

membalas semua(2)
仅有的幸福

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

巴扎黑
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 ===>

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan