Trong mã của bạn:
> function Person(name) {
> this.name = name;
> }
Khi được gọi là hàm tạo, phần trên sẽ tạo thuộc tính có tên là n được gọi là tên và gán giá trị cho thông số tên.
> Person.prototype.greet = function(otherName){
> return "Hi" + otherName + ", my name is " + name;
> }
Ở đây định danh tên được sử dụng như là một biến, nhưng nhận diện bạn đang tìm kiếm là một tài sản của ví dụ đặt tên, vì vậy bạn cần phải truy cập nó ở như vậy. Thông thường, hàm này sẽ được gọi là phương thức của cá thể sao cho số trong hàm này sẽ là tham chiếu đến cá thể.Vì vậy, bạn muốn:
return "Hi" + otherName + ", my name is " + this.name;
Vì vậy, bây giờ khi bạn có thể làm (lưu ý rằng các biến bắt đầu với một chữ cái viết hoa là, theo quy ước, dành cho construtors):
> var john = new Person("John");
và sau đó:
john.greet('Fred');
vì chào được gọi là phương thức john, số này sẽ trả về:
Hi Fred, my name is John
Object độ phân giải bất động sản không có gì để làm với phạm vi. Cụm từ "Phạm vi sai" sẽ tốt hơn là "phương pháp truy cập sai". – RobG
đủ công bằng. đã chỉnh sửa. –
cảm ơn sự giúp đỡ – flylib