cari

Rumah  >  Soal Jawab  >  teks badan

node.js - Masalah fungsi laksana sendiri JavaScript, sila beri saya nasihat

Saya pernah bertanya sebelum ini tetapi tidak mendapat jawapan Mungkin kerana penerangan saya tidak cukup jelas Sekarang saya telah menyusun semula pemikiran saya

function demo(){
    // 各种实现
}
demo();    // 我希望它默认就执行一次,所以就这么调用了。

窗口事件:
$(window).resize(function(){
    demo();    // 这里也需要根据条件调用demo函数
});

Persoalannya, adakah terdapat cara untuk membuat demo dilaksanakan secara automatik buat kali pertama? Dan kemudian ia boleh dipanggil di tempat lain? Bagaimana untuk mengoptimumkan badan kod sedemikian, kecualikan: arguments.callee, sila beri saya nasihat... Terima kasih terlebih dahulu.

PHP中文网PHP中文网2754 hari yang lalu470

membalas semua(5)saya akan balas

  • 世界只因有你

    世界只因有你2017-05-16 13:44:41

    demo=(function(){
        temp()    // 默认就执行一次
        return temp
    })()
    
    function temp(){
     // 各种实现
    }
    
    窗口事件:
    $(window).resize(function(){
        demo();    // 这里也需要根据条件调用demo函数
    });

    Saya tidak tahu sama ada ini memenuhi keperluan poster asal

    balas
    0
  • ringa_lee

    ringa_lee2017-05-16 13:44:41

    Terdapat banyak cara untuk mencapainya. Kedua-dua fungsi tanpa nama dan fungsi laksana sendiri boleh diterima. Sila rujuk perkara berikut:

    var demo = function(){
        var innerFunc = function(){
        
        }
        innerFunc();
        return innerFunc;
    }
    
    $(window).resize(function(){
    });

    balas
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:44:41

    Adakah poster asal bermaksud anda ingin melaksanakan fungsi tanpa nama sendiri, dan kemudian mahu memanggil fungsi tanpa nama ini dari tempat lain?

    balas
    0
  • 大家讲道理

    大家讲道理2017-05-16 13:44:41

    Tiada salah dengan cara anda menulis sekarang

    balas
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:44:41

    Js yang berjalan secara automatik adalah dalam bentuk (fungsi ditulis di sini)( Anda juga boleh memanggilnya sekali dalam acara window.onload

    ).

    balas
    0
  • Batalbalas