Trên web, tôi thấy một số lượng lớn các lập trình viên JavaScript đang viết window.location
thay vì chỉ location
. Tôi đã tò mò nếu có ai có thể đưa ra một lời giải thích là tại sao. window
là đối tượng toàn cầu, và do đó không cần thiết phải bao gồm - phải không? Ý tôi là, bạn không thấy mọi người viết window.Math.floor
hoặc new window.Date()
, vì vậy tôi tò mò muốn biết tại sao nó sẽ được chỉ định với location
.window.location so với chỉ vị trí
Tôi hiểu rằng location
được coi là "thuộc tính" của cửa sổ bạn đang ở, điều tôi cho là có ý nghĩa. Nhưng ngay cả như vậy, tôi không thấy bất kỳ lý do nào để xác định đối tượng toàn cầu; bạn không thể ghi đè lên location
ngay từ đầu, không phải khi không chuyển hướng trang.
Vì vậy, đây có phải chỉ là một điều kỳ quặc đã được sử dụng từ lâu đến mức nó được tích hợp với cách chúng ta viết JavaScript, hoặc có một số lý do hữu hình để làm những việc theo cách này? Tôi đã kiểm tra Google, nhưng than ôi, tôi đã đưa ra không có gì ...
Tôi cũng tưởng tượng rằng nói cho JS nơi để tìm biến thay vì làm cho nó vòng qua chuỗi phạm vi lên đến phạm vi toàn cầu có thể là một cách tiếp cận nhanh hơn. – Rayjax
@Rayjax Không, thực ra, bởi vì JS cũng phải lặp qua chuỗi phạm vi để xác định 'cửa sổ 'là gì. – lonesomeday