draw_anim:function(context){
var me=this;
var width = me.canvas.width,height = me.canvas.height;
var img = new Image();
img.src = this.imgsrcList[me.current];
img.onload = function () {
context.clearRect(0,0,width,height);
context.drawImage(img, 0, 0,img.width, img.height);
}
Y a-t-il des avantages ? Ne peut-il pas être utilisé directement ?
D'une manière générale, cette situation peut être due au fait que ceci est appelé dans certaines fonctions ultérieures qui n'appartiennent pas à l'environnement actuel (comme les événements de clic). Quant à l'enregistrement en tant que variable temporaire, je ne suis pas sûr qu'il existe une optimisation des performances. effet
Par exemple :
img.onload = function () {
}
Problème de portée ! me=this représente le point actuel de this. Si this est écrit ci-dessous, il peut pointer vers un objet différent. me peut être utilisé comme variable pour recevoir ceci qui apparaît cette fois et peut être utilisé dans d'autres fonctions. utilisez ceci, cela peut pointer vers d'autres objets, ou non définis ! Il est recommandé de jeter un œil à ce pointeur et à cette portée !
O(∩_∩)O haha~ Je suis aussi un débutant, pardonnez-moi s'il y a des erreurs
Tout d'abord, votre code est une section interceptée d'un gros objet Puisque vous n'avez pas donné ce gros objet, laissez-le. je fais une hypothèse
var animit={
A ce moment, vous entrez la méthode draw_anim de l'objet. A ce moment, celle-ci est affectée à la variable me ci-dessous dans cette méthode représente le gros objet animit. Ceci est fait pour éviter toute confusion avec cela dans des événements tels que p.onclick ou des événements timer dans la méthode draw_anim, c'est-à-dire que lorsque vous affichez ceci dans la fonction de l'opération p.onclick, il fait référence à p, et pas à un grand. objet animé.