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);
}
#有什麼好處嗎?直接用不行嗎?
一般來說這種情況可能是因為在後面某些不屬於當前環境的函數(如點擊事件)裡面調用this,至於把this保存成臨時變量有沒有性能優化的效果我不太清楚
如:
img.onload = function () {
}
作用域的問題! me=this 代表目前this的指向, 如果下面在寫this,可能又指向不通的對象,me可以作為一個變數接收本次出現的this 可以在其他函數能使用,如果繼續使用this ,而這個this可能指向其他對象,或未定義!建議可以去看看this指向,作用域這些!
O(∩_∩)O哈哈~ 我也是小白一枚如有錯誤請見諒
首先你這段程式碼是從一個大對象裡截取的一段,由於你沒給這個大對象,我來假設一個
var animit={
這時進入了物件的draw_anim的方法裡,此時將this賦給了變數me,在這個方法裡的下面的me就代表這個大物件animit。這樣做是為了避免在draw_anim這個方法裡出現p.onclick等事件或定時器事件裡的this弄混,也就是說此時你在p.onclick操作的function裡面輸出this,指的是就是p,而不是大對象animit。