Tôi mới sử dụng JavaScript và cố gắng tìm hiểu một số nguyên tắc cơ bản của OOP và mô phỏng "các lớp".
Khi thực thi dòng cuối cùng của tập lệnh này, tôi muốn con trỏ đối tượng được gọi là this
trên dòng 4 để tham chiếu đến đối tượng farm
(giống như chính xác trong dòng 2 và 3).Chức năng thay đổi biến "này"
Thật không may là không, và tôi đoán rằng con trỏ đối tượng this
thay vì trỏ về phía document
.
var Building = function(cost){
this.cost = cost;
this.printCost = function(){
document.getElementById(this).innerHTML = this.cost;
}
}
var farm = new Building (50);
farm.printCost();
-
<html>
<body>
<p id="farm">
</p>
</body>
</html>
Có cách nào để có được chức năng này để sử dụng đối tượng phải không? Nếu có bất kỳ lỗi nào trong sự hiểu biết của tôi, hãy cho tôi biết.
Tôi chưa quen với jQuery nên nếu bạn có thể dính vào cú pháp JavaScript cốt lõi, tôi sẽ đánh giá cao nó!
JSFiddle: https://jsfiddle.net/7n2of9k7/
'getElementById (this)' sẽ không bao giờ làm việc bất kể –
Tại sao không chỉ cần vượt qua 'farm' như là một chuỗi hoạt động? – Li357
Chỉ cần chuyển nó thành một chuỗi: '... = hàm (chi phí, phần tử)' trong đó phần tử là phần tử chèn vào. – Li357