Vòng lặp sự kiện trong câu hỏi phỏng vấn javascript là gì?
Điều này nghe có vẻ tầm thường và trên thực tế, nó không quan trọng với ECMAscript 6 giới thiệu một hàm 2 mới cho mục đích chính xác này. Tuy nhiên, trước ECMAScript 6, điều này phức tạp hơn một chút, vì không cung cấp phương thức tương đương với phương thức 2 Show Vấn đề là, trong đặc tả ECMAScript, các số nguyên chỉ tồn tại về mặt khái niệm; . e. , các giá trị số luôn được lưu trữ dưới dạng giá trị dấu phẩy động Với ý nghĩ đó, giải pháp tiền ECMAScript-6 đơn giản và rõ ràng nhất (cũng đủ mạnh để trả về 4 ngay cả khi một giá trị không phải là số như chuỗi hoặc 0 được truyền cho hàm) sẽ là cách sử dụng sau đây của
Giải pháp sau đây cũng sẽ hoạt động, mặc dù không thanh lịch như giải pháp trên
Hàm sau (hoặc với 1 hoặc 2 thay cho 3) cũng có vẻ hữu ích, nhưng kết quả không hoàn toàn giống với hai hàm trên
Sự khác biệt là, các giải pháp dựa trên 4 này trả về 5 cho 6 và 7, trong khi các giải pháp khác (và đặc biệt là 2 của ES6) trả về 4Một giải pháp không chính xác khá phổ biến khác là như sau 1Mặc dù cách tiếp cận dựa trên 0 này sẽ hoạt động tốt với nhiều giá trị của 1, nhưng khi 1 trở nên khá lớn, nó sẽ không hoạt động bình thường. Vấn đề là 3 buộc tham số đầu tiên của nó thành một chuỗi trước khi phân tích các chữ số. Do đó, khi số trở nên đủ lớn, biểu diễn chuỗi của nó sẽ được trình bày ở dạng hàm mũ (e. g. , 4). Theo đó, sau đó, 3 sẽ cố gắng phân tích cú pháp 4, nhưng sẽ ngừng phân tích cú pháp khi đến ký tự 7 và do đó sẽ trả về giá trị là 8. Quan sát JavaScript là ngôn ngữ lập trình đồng bộ đơn luồng. Nhưng nó thực sự có nghĩa là gì? Điều đó thực sự có nghĩa là gì khi chúng ta nói JavaScript là một luồng đơn? Điều đó có nghĩa là luồng chính nơi mã JavaScript được chạy, chạy trên một dòng tại một thời điểm và không có khả năng chạy mã song song Thí dụ Javascript 7____28 9 0 1 2 3____34 3____270____271 72 73 3____275 75 0 78 0 80 7____282____29đầu ra 1Cấp phát bộ nhớ trong JavaScript 1) Bộ nhớ đống. Dữ liệu được lưu trữ ngẫu nhiên và bộ nhớ được phân bổ 2) Ngăn xếp bộ nhớ. Bộ nhớ được cấp phát dưới dạng ngăn xếp. Chủ yếu được sử dụng cho các chức năng ngăn xếp cuộc gọi chức năng. Ngăn xếp chức năng là một chức năng theo dõi tất cả các chức năng khác được thực thi trong thời gian chạy. Bạn đã bao giờ thấy dấu vết ngăn xếp được in khi bạn gặp lỗi trong JavaScript chưa. Đó không là gì ngoài một ảnh chụp nhanh ngăn xếp chức năng tại thời điểm xảy ra lỗi Thí dụ Javascript 1 85 3____27____288 89 75 0 1 93 3____295 75 0 1 99 3____301 75 0 04Thứ tự tại đó các chức năng được thực thi i. e bị bật ra khỏi ngăn xếp sau khi mục đích của hàm kết thúc như minh họa bên dưới vòng lặp sự kiện. Vòng lặp sự kiện là thứ kéo nội dung ra khỏi hàng đợi và đặt nó vào ngăn xếp thực thi chức năng bất cứ khi nào ngăn xếp chức năng trống Vòng lặp sự kiện là bí mật mà JavaScript mang lại cho chúng ta ảo giác là đa luồng mặc dù nó là một luồng. Ảo ảnh dưới đây thể hiện hoạt động tốt của vòng lặp sự kiện Ở đây, chức năng gọi lại trong hàng đợi sự kiện chưa chạy và đang đợi thời gian vào ngăn xếp khi SetTimeOut() đang được thực thi và API Web đang chờ đợi được đề cập. Khi ngăn xếp chức năng trống, chức năng sẽ được tải vào ngăn xếp như hình bên dưới Đó là nơi vòng lặp sự kiện xuất hiện, nó lấy sự kiện đầu tiên từ Hàng đợi sự kiện và đặt nó vào ngăn xếp i. e trong trường hợp này là chức năng gọi lại. Từ đây, hàm này thực hiện gọi các hàm khác bên trong nó, nếu có Vòng lặp sự kiện JavaScript là gì?JavaScript có mô hình thời gian chạy dựa trên vòng lặp sự kiện, chịu trách nhiệm thực thi mã, thu thập và xử lý sự kiện cũng như thực hiện các tác vụ phụ được xếp hàng đợi. This model is quite different from models in other languages like C and Java.
Vòng lặp sự kiện trong lập trình là gì?Cấu trúc lập trình liên tục kiểm tra các sự kiện bên ngoài và gọi các quy trình thích hợp để xử lý chúng . Vòng lặp sự kiện thường là vòng lặp chính trong một chương trình thường đợi người dùng kích hoạt thứ gì đó.
Vòng lặp sự kiện và bỏ phiếu là gì?Vòng lặp sự kiện đôi khi còn được gọi là bộ điều phối thông báo, vòng lặp thông báo, bơm thông báo hoặc vòng lặp chạy. Vòng lặp sự kiện có thể được sử dụng cùng với lò phản ứng, nếu nhà cung cấp sự kiện tuân theo giao diện tệp, giao diện này có thể được chọn hoặc 'được thăm dò ý kiến' (cuộc gọi hệ thống Unix, không phải cuộc thăm dò thực tế)< . .
Vòng lặp sự kiện và ngăn xếp cuộc gọi là gì?Ngăn xếp lệnh gọi là hàng đợi LIFO (Vào sau, Xuất trước). Vòng lặp sự kiện liên tục kiểm tra ngăn xếp cuộc gọi để xem có chức năng nào cần chạy không . Trong khi làm như vậy, nó thêm bất kỳ lệnh gọi hàm nào mà nó tìm thấy vào ngăn xếp cuộc gọi và thực hiện từng lệnh theo thứ tự. |