1 Câu hỏi: Tại sao phương thức javascript handleEvent có quyền truy cập vào sự kiện với tham số sự kiện bị bỏ qua?

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM

Theo MDN doc handleEvent event là tham số duy nhất của nó, tuy nhiên đây là ví dụ:

Codepen

mã html:

<button id="btn">Click here!</button>  

mã javascript:

const buttonElement = document.getElementById('btn');

buttonElement.addEventListener('click', function () {
  alert(event.type);
});

Hàm gọi lại xử lý Hàm không có tham số nào có thể truy cập sự kiện (nó cảnh báo 'nhấp chuột').

Nó hoạt động như thế nào?

Có bất kỳ tham chiếu nào nêu rõ rằng tham số event có thể được bỏ qua không?

    
4
  1. 2019-05-08 15: 42: 25Z
  2. Thx @melpomene đã giải quyết hoàn hảo câu hỏi của tôi 1 nhưng bạn có biết câu trả lời của câu hỏi 2 không?
    2019-05-08 15: 46: 32Z
  3. Ý bạn là gì khi hỏi 2?
    2019-05-08 15: 46: 52Z
  4. Chúng ta có thể sử dụng hàm (không có tham số) không tuân thủ chữ ký hàm handleEvent?
    2019-05-08 15: 48: 30Z
  5. Ồ, JavaScript không kiểm tra danh sách tham số. Ở tất cả. Bạn chỉ có thể bỏ qua các đối số đến hoặc xác định các tham số bổ sung (chúng sẽ là undefined).
    2019-05-08 15: 54: 28Z
1 Câu trả lời                              1                         

Trong JavaScript, khi bạn tham chiếu một biến, trước tiên, nó sẽ xem xét phạm vi cục bộ trước khi kiểm tra phạm vi toàn cầu. Trong trình duyệt của bạn, tất cả các biến trong phạm vi toàn cầu là thuộc tính của đối tượng window. Tra cứu window.event mang lại bài viết sau: https: //developer mozilla.org/en-US/docs/Web/API/Window/event . Đáng chú ý:

  

Sự kiện bất động sản Window chỉ đọc trả về Event hiện đang được xử lý bởi mã của trang web. Bên ngoài bối cảnh của một trình xử lý sự kiện, giá trị luôn là undefined.

Điều này có nghĩa là bất cứ lúc nào bạn đang xử lý một sự kiện, trình duyệt cũng liên kết sự kiện đó với phạm vi toàn cầu.

Cần lưu ý rằng, như đã đề cập trong bài viết, thực sự lợi dụng điều này là một ý tưởng tồi. Giá trị không phải lúc nào cũng như bạn mong đợi và nói chung, việc sử dụng các biến toàn cục không được ưa thích.

nguồn đặt đây