我想知道的是什麼樣的情況下follwoing insideFn和outsideFn之間的區別:這2個javascript函數有什麼區別?
function Construct()
{
this.insideFn = function(obj){
....
}
}
Construct.prototype.outsideFn = function(obj){
...
}
,哪一個是有效地使用?
我想知道的是什麼樣的情況下follwoing insideFn和outsideFn之間的區別:這2個javascript函數有什麼區別?
function Construct()
{
this.insideFn = function(obj){
....
}
}
Construct.prototype.outsideFn = function(obj){
...
}
,哪一個是有效地使用?
第一個function Construct() {}
是一類(在JavaScript它是一個對象),而後來您所繼承(延伸)的這一類使用關鍵字prototype
和增加一個功能outsideFn
。 JavaScript中沒有特定的類,所以你必須使用對象作爲類。
在第一個構造中,該方法是Construct
實例的屬性。 在第二構建體的方法是從Construct
的prototype
對象的屬性如果定義prototype
對象內部的功能,他們將呼叫時相同。 prototype
變體通常可以節省內存並加快代碼的速度。 您也可以重載對象實例中的prototype
函數,以更改對象的默認行爲。
爲了更好的英語以及更多詳情,請參閱http://www.javascriptenlightenment.com/
-1:這是答案是混亂,因爲它使用了不準確的術語(「類」,「繼承」)和,雖然它在技術上提出一些適用的點,它並沒有解釋這些問題的後果。 –