cari

Rumah  >  Soal Jawab  >  teks badan

javascript - masalah dengan operasi operator

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
怪我咯怪我咯2790 hari yang lalu529

membalas semua(2)saya akan balas

  • 仅有的幸福

    仅有的幸福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

    balas
    0
  • 巴扎黑

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

    balas
    0
  • Batalbalas