我對基本javascript以外的任何東西都不是很滿意,所以請原諒簡單的問題。Javascript - 從函數的局部範圍內獲取變量
我正在使用jsDraw2D庫。這圖書館,看起來像下面這樣的圖形對象:
function jsGraphics(canvasDivElement) {
var canvasDiv;
this.drawLine = drawLine;
function drawLine(point1, point2) {
// do things with canvasDiv
}
}
你使用這樣的:
var gr = new jsGraphics(document.getElementById('canvas'))
gr.drawLine(new jsPoint(0,0), new jsPoint(10,10))
我想一個函數添加到jsGraphics,這樣我可以調用
gr.getCanvasElement()
有沒有辦法做到這一點,而無需編輯庫本身?
我已經試過
jsGraphics.prototype.getCanvasElement = function() { return canvasDiv }
但這似乎並沒有工作。我有一種直覺的感覺,即它與新關鍵字有關的東西,但是如果你能解釋爲什麼它確實不會有幫助。
你是否像這樣將'document.getElementById('canvas')'傳遞給'jsGraphics'?如果您可以調用'document.getElementById('canvas')'來獲得'canvasDiv'所具有的同樣的功能。 –
那麼我想要的不是canvasDiv,而是它的寬度/高度,它將用於我打算添加的一些簡化的外觀方法。但是頁面本身會有許多jsGraphics對象,我需要依次處理每個對象。 –