好了,JavaScript是一種「原型」的語言,這在我的理解意味着它有這樣的事情:的Javascript:複製變量和原型
var c = document.getElementById('myCanvas');
c.ctx = c.getContext('2d');
現在,如果我這樣做:
var c = document.getElementById('myCanvas');
c.ctx = c.getContext('2d');
c = document.getElementById('newCanvas');
在影響全新的畫布時,c.ctx是否會保持功能並保持功能?謝謝!
我的實驗說不,但我問,因爲也許我錯過了一些東西。如果理論上這不應該起作用,你有沒有什麼好辦法可以相對容易地解決它? (或不那麼容易,但容易是當然的喜好!)
不,因爲您重新定義變量。 –
你的意思是「在影響全新的畫布時保持並保持功能?」,只要包含c.ctx的函數在範圍內,就會定義c.ctx。 – Nikola
儘量不要將JavaScript與DOM混合使用。他們是兩個完全不同的東西。你沒有在代碼中的任何地方使用原型。你所要做的就是在一個變量'c'中獲得一個DOM元素,給它賦一個屬性,然後將變量'c'重新賦值給另一個DOM元素。代碼中沒有繼承。爲了準確理解什麼是原型繼承,我建議你閱讀[爲什麼原型繼承很重要](http://aaditmshah.github.io/why-prototypal-inheritance-matters「Aadit M Shah |爲什麼原型繼承很重要」)。 –