Rumah  >  Soal Jawab  >  teks badan

Apakah perbezaan antara pengisytiharan fungsi dan fungsi tanpa nama? (Pemula hadapan meminta bantuan...)

Jika anda mentakrifkan fungsi yang menukar atribut gaya elemen menggunakan pengisytiharan fungsi, ralat akan dilaporkan

Tetapi tiada ralat akan dilaporkan di bawah window.onload

高洛峰高洛峰2663 hari yang lalu918

membalas semua(3)saya akan balas

  • 大家讲道理

    大家讲道理2017-07-05 11:01:56

    Baby, ini tiada kaitan dengan fungsi apa yang anda gunakan! Ini kerana onload akan dicetuskan selepas dokumen dimuatkan, dan anda mesti melaporkan ralat kerana dokumen belum dimuatkan dan elemen itu tidak ditemui

    balas
    0
  • PHP中文网

    PHP中文网2017-07-05 11:01:56

    Ini tidak ada kena mengena dengan pengisytiharan fungsi dan ketiadaan nama, tetapi dengan masa panggilan fungsi.
    Jika kita menukarnya kepada ini, adakah kita masih boleh mencari masalah dengan fungsi tanpa nama?

    function change () { /* ... */ }
    window.onload = change

    Apabila yang pertama dipanggil, elemen kotak belum tersedia, jadi ralat dilaporkan; Anda boleh log objek kotak dalam fungsi perubahan dan lihat.

    balas
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-07-05 11:01:56

    Masalahnya bukan ini, anda perlu tahu bahawa dokumen itu dimuatkan dari atas ke bawah, anda meletakkan fail js di hujung head
    执行到js文件的时候,这个时候连body都还没加载,自然无法获取到box,也就无法设置css了。
    你可以把js文件放到body:

    .
    .
    .
    <script src="./x.js"></script>
    </body>

    Dengan cara itu anda tidak memerlukannyawindow.onload
    如果放在了head里面
    就需要在js文件头部写window.onload=function(){......}

    balas
    0
  • Batalbalas