Phạm vi điều khiển Firebug. Tại sao "không" này luôn giống nhau? Không phải lúc nào nó cũng là "cửa sổ"?Phạm vi cửa sổ bảng điều khiển Firebug. Tại sao "không" này luôn giống nhau?
Trả lời
Giá trị của this
trong giao diện điều khiển sẽ được giống như giá trị của this
trong mã hiện đang được thực hiện . Xem xét: -
function outer()
{
// this is window
var x = {n:12};
var fn = function()
{
// this is object {n:12}
alert(this.n);
}
fn.call(x);
}
...
<img src="thing.gif" onclick="outer()" />
Nếu bạn đặt một điểm break trên dòng x = {n:12}
, chuyển sang an ủi bạn sẽ tìm thấy this
là cửa sổ. Tuy nhiên, khi bạn bước đến dòng alert
this
trong bảng điều khiển là đối tượng được giữ bởi biến số x
. IOW không có sự phân biệt giữa this
trong ngữ cảnh thực thi và bảng điều khiển. Vì lý do này mà bạn có thể sử dụng giao diện điều khiển để tinh chỉnh các giá trị của biến và thuộc tính trong khi gỡ lỗi.
Trong một chức năng gọi trực tiếp mà không một đối tượng chủ sở hữu rõ ràng, làm cho giá trị của này là mặc định đối tượng (cửa sổ trong trình duyệt).
Trong một chức năng gọi là sử dụng cú pháp gọi phương pháp , như
objname.myFunction()
hoặcobjname['myFunction']()
, nguyên nhân giá trị này được objname.
Xem thêm abot gọi hàm trong JavaScript
Câu trả lời này chính xác vì nó không thực sự giải quyết câu hỏi vì nó liên quan đến hành vi của bảng điều khiển. – AnthonyWJones
Từ khóa this
luôn đề cập đến chủ sở hữu của hàm được gọi. Bạn có thể đọc một lời giải thích rõ ràng và chi tiết về nó here.
Từ bài viết tôi liên kết ở trên hình ảnh này, tôi nghĩ giải thích rõ ràng nhất:
- 1. Javaw vẫn tạo cửa sổ bảng điều khiển; Tại sao điều này?
- 2. Tải javascript qua bảng điều khiển Firebug
- 3. Tại sao jQuery vượt qua đối tượng cửa sổ vào phạm vi của chúng
- 4. Nhật ký bảng điều khiển Firebug Net
- 5. Gỡ lỗi C++/SDL với cửa sổ bảng điều khiển
- 6. cập nhật cửa sổ bảng điều khiển với java
- 7. GCC/C cách ẩn cửa sổ bảng điều khiển?
- 8. Nhúng cửa sổ Bảng điều khiển bên trong Cửa sổ WPF
- 9. Sự khác nhau giữa việc thêm funcitons vào phạm vi $ và điều này trong bộ điều khiển chỉ thị?
- 10. Tại sao bảng flowdocument này luôn in 2 cột
- 11. Điều khiển không cửa sổ là gì?
- 12. tiêu đề cửa sổ bảng điều khiển c
- 13. Ẩn cửa sổ bảng điều khiển từ Process.Start C#
- 14. Tắt hiển thị cửa sổ bảng điều khiển
- 15. Tại sao cửa sổ bảng điều khiển đóng ngay lập tức mà không hiển thị đầu ra của tôi?
- 16. Tại sao nút WPF này trải dài trên cửa sổ?
- 17. Tại sao iOS 5.0 không giống như các ứng dụng cửa sổ đơn giản? Tại sao nó yêu cầu bộ điều khiển xem được sử dụng?
- 18. Tại sao các cơ quan điều kiện trường hợp khác nhau không nằm trong phạm vi khác nhau?
- 19. Có phím nóng để chạy nội dung của Bảng điều khiển Firebug không?
- 20. Phạm vi thanh ghi điều khiển MXCSR?
- 21. Làm cách nào để ngăn cửa sổ bảng điều khiển đóng khi chạy ứng dụng bảng điều khiển?
- 22. Tôi có thể thay đổi màu nền của bảng điều khiển firebug không?
- 23. Hiển thị/Ẩn cửa sổ bảng điều khiển của ứng dụng giao diện điều khiển C#
- 24. Phạm vi JavaScript bị thay đổi? Lý do tại sao điều này xảy ra?
- 25. Biến được xác định trong phạm vi toàn cầu với tên giống nhau
- 26. Làm cách nào để nói với cmake không tạo cửa sổ bảng điều khiển?
- 27. LUÔN LUÔN trên cửa sổ trên cùng
- 28. Điều khiển 'xxx' không có cửa sổ cha mẹ
- 29. Tại sao đối tượng Javascript này không nằm ngoài phạm vi sau $ (tài liệu) .ready?
- 30. Cách ẩn yêu cầu ajax khỏi bảng điều khiển firebug?
cảm ơn bạn đã trả lời .. nhưng, một câu hỏi: Nếu tôi không bị mắc kẹt trong một điểm dừng, có thể "điều này" được khác hơn là cửa sổ trong giao diện điều khiển? –