針對Javascrit
我在某文件看見一段敘述,大意是說,如果有像以下這樣一段程式碼
function Person(first, last) {
this.first = first;
this.last = last;
this.fullName = function() {
return this.first + ' ' + this.last;
}
this.fullNameReversed = function() {
return this.last + ', ' + this.first;
}
}
var s = new Person("Simon", "Willison");
這樣子每次在new Person的時候記憶體也會新產生一份Person的inner function
的程式碼佔住多餘的空間(可以用改寫prototype function的方式解決)
關於產生多於程式碼的敘述,真的是所說的那樣嗎?
另外,如果上述沒錯的話,這似乎跟c++裡的new object產生後的結果不一樣是嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.231.60.98
※ 編輯: flu 來自: 125.231.60.98 (08/28 01:25)
※ 編輯: flu 來自: 125.231.60.98 (08/28 01:27)