javascript - Ralat dilaporkan apabila setTimeout menggantikan setInterval untuk melaksanakan kira detik
ringa_lee
ringa_lee 2017-05-19 10:38:45
0
1
543

Baru-baru ini, apabila menggunakan vue2 untuk membina projek, saya menghadapi keperluan untuk mengira detik aktif Apabila menggunakan setTimeout untuk mensimulasikan kesan setInterval, sesuatu telah berlaku (sudah tentu, menggunakan yang terakhir boleh menyelesaikan masalah dengan mudah)

let myTimer = setTimeout( () => { if (diffTimer > 0) { hours = Math.floor(diffTimer/3600); minutes = Math.floor((diffTimer/60)%60); seconds = Math.floor(diffTimer%60); this.hours = hours > 9 ? hours : '0' + hours; this.minutes = minutes > 9 ? minutes : '0' + minutes; this.seconds = seconds > 9 ? seconds : '0' + seconds; } else { clearTimeout(myTimer); } diffTimer--; setTimeout(arguments.callee,1000); },1000)

Hasilnya ialah ralat berikut:

Nampaknya objek hujah tidak dapat ditemui dalam mod ketat es6...

ringa_lee
ringa_lee

ringa_lee

membalas semua (1)
小葫芦

Objek hujah tidak boleh digunakan apabila menggunakan fungsi anak panah. Objek tidak wujud dalam badan fungsi. Jika anda ingin menggunakannya, anda boleh menggunakan parameter Rehat.

http://es6.ruanyifeng.com/?se...

Nota Penggunaan Terdapat beberapa perkara yang perlu diperhatikan apabila menggunakan fungsi anak panah.

(1) Objek ini dalam badan fungsi ialah objek di mana ia ditakrifkan, bukan objek di mana ia digunakan.

(2) tidak boleh digunakan sebagai pembina, iaitu, arahan baru tidak boleh digunakan, jika tidak, ralat akan dilemparkan.

(3) Objek argumen tidak boleh digunakan, kerana objek tidak wujud dalam badan fungsi. Jika anda ingin menggunakannya, anda boleh menggunakan parameter Rehat.

(4) Perintah hasil tidak boleh digunakan, jadi fungsi anak panah tidak boleh digunakan sebagai fungsi Penjana.

Di antara empat perkara di atas, perkara pertama amat perlu diberi perhatian. Penunjuk objek ini berubah-ubah, tetapi dalam fungsi anak panah, ia tetap.

    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!