這只是一個簡單的問題。無論哪種方式工作。我喜歡我的第一個例子,但我不知道做這種方式會導致更多的內存比第二個例子,因爲我們調用對象的「新」被分配....javascript:方法的獨立函數還是嵌入在對象中?
例1
var post = function(){
var self = this;
self.div = $('<div></div>');
self.color = function(color){
this.div.css({background:color});
}
}
var p = new post();
p.color("#FFF");
例2
var post = function(){
self = this;
self.div = $('<div></div>');
}
var color = function(p, color){
p.div.css({background:color});
}
var p = new post();
color(p, "#FFF");
所以,在第一個例子中,顏色的功能相信會得到重新每次一個新的職位被調用。如果我有100 new post();
電話會怎麼樣?是否比示例2的效率低,其中函數只定義了一次?
這有道理我在問什麼?
這是你的原型。很好的解釋和解決方案,+1。 – bernie 2012-03-25 15:16:28
「Post」中如何有「原型」屬性?爲什麼我們不需要像Post.prototype = {};我們可以使用它之前? (沒有人這樣做,我只是想知道這是如何工作的) – 2012-03-25 15:17:44
@Danny Milosavljevic:http://es5.github.com/#x13.2,第18步。 – pimvdb 2012-03-25 15:21:44