Giả sử tôi có thể tạo một nhà máy đối tượng như vậy:hiệu quả dung lượng lưu trữ chức năng ẩn danh
var newObj=function(x){
var obj=[]
obj.x=x
obj.add=function(n){
return this.x+n
}
return obj
}
Bây giờ giả sử tôi có thể tạo hàng trăm trường hợp của đối tượng này:
var obj1=newObj(1)
var obj2=newObj(2)
...
Liệu mỗi obj1, obj2, .. lưu trữ bản sao của obj.add hoặc tất cả chúng chứa một tham chiếu đến một cá thể obj.add được lưu trong bộ nhớ?
Cảm ơn!
Tôi đang tạo một ứng dụng nút với số lượng rất lớn các đối tượng rất lớn bằng cách sử dụng kỹ thuật nhà máy được hiển thị ở trên. Nó xảy ra với tôi rằng tôi có lẽ lãng phí rất nhiều không gian lưu trữ. Có vẻ như tôi nên bắt đầu điền vào các tài sản nguyên mẫu thay thế. – gloo
Bạn có thể dễ dàng tìm ra bằng cách so sánh 'obj1.add === obj2.add'. –
Xem http://stackoverflow.com/questions/17308446/how-big-are-javascript-function-objects – user123444555621