cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Apabila melakukan operasi ||. antara objek jquery, mengapa nilai yang dikembalikan bukan jenis boolean?

Coretan kod sumber jquery adalah seperti berikut:

        // HANDLE: $(expr, $(...))
        } else if ( !context || context.jquery ) {
            return ( context || rootjQuery ).find( selector );

Saya rasa konteks di sini ialah objek jquery, rootjquery ialah $(document)

Tetapi bukankah demerit yang mereka kembalikan adalah nilai Boolean. Mengapakah ia objek jquery di sini?

Jadi apa yang dilakukan oleh ||. Apakah peranannya???

Terima kasih

漂亮男人漂亮男人2753 hari yang lalu514

membalas semua(2)saya akan balas

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:37:57

    Sila lihat di sini untuk asasnya, yang jelas sekali imbas.
    https://developer.mozilla.org...

    Seperkara lagi, sebelum ES2015, fungsi JS tidak mempunyai parameter lalai
    Untuk menggunakan parameter lalai seperti bahasa lain, ia sering ditulis seperti ini

    function demo(arg){
        arg = arg || true;
    }

    Untuk serasi dengan API pelayar yang berbeza, kami sering menulis seperti ini.

    if( !window.requestAnimationFrame ){
        window.requestAnimationFrame = (window.webkitRequestAnimationFrame ||
                                        window.mozRequestAnimationFrame ||
                                        window.msRequestAnimationFrame || 
                                        function (callback){
                                          return setTimeout(callback, 1000 / 60);
                                        });
    }

    balas
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:37:57

    Pengendali logik Javascript boleh digunakan dalam persekitaran bukan Boolean.

    Walaupun pengendali && dan || boleh digunakan dalam persekitaran bukan Boolean, jika nilai pulangannya boleh ditukar kepada nilai Boolean, ia juga boleh dianggap sebagai operasi Boolean

    (dari operator logik)

    Untuk persekitaran bukan Boolean:

    Apabila terdapat satu palsu, kembalikan nilai pada bahagian palsu
    Apabila terdapat dua palsu, kembalikan nilai sebelum operator (sebelah kiri
    Apabila terdapat dua benar, kembalikan nilai selepas operator (sebelah kanan); nilai.

    (berasal daripada nilai pulangan operasi logik dalam JavaScript (logik DAN &&, logik ATAU ||, logik BUKAN!))

    balas
    0
  • Batalbalas