Maison > Questions et réponses > le corps du texte
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)
高洛峰2017-05-19 10:40:45
L'objet arguments ne peut pas être utilisé lors de l'utilisation de fonctions fléchées, car l'objet n'existe pas dans le corps de la fonction. Si vous souhaitez l'utiliser, vous pouvez utiliser les paramètres Rest à la place.
http://es6.ruanyifeng.com/?se...
Points à noter lors de l'utilisation des fonctions fléchées Il y a plusieurs points à noter lors de l'utilisation des fonctions fléchées.
(1) L'objet this dans le corps de la fonction est l'objet où il est défini, pas l'objet où il est utilisé.
(2) ne peut pas être utilisé comme constructeur, c'est-à-dire que la nouvelle commande ne peut pas être utilisée, sinon une erreur sera générée.
(3) L'objet arguments ne peut pas être utilisé, car l'objet n'existe pas dans le corps de la fonction. Si vous souhaitez l'utiliser, vous pouvez utiliser les paramètres Rest à la place.
(4) La commande rendement ne peut pas être utilisée, donc la fonction flèche ne peut pas être utilisée comme fonction générateur.
Parmi les quatre points ci-dessus, le premier point est particulièrement remarquable. Le pointeur de cet objet est variable, mais dans une fonction flèche, il est fixe.