Tôi đã xem mã JavaScript của người khác, và tôi đã nhận thấy rằng nhiều lập trình viên có xu hướng tạo ra các hàm có thể được kết hợp với các hàm đang gọi chúng. Một ví dụ là this; chức năng 'initWebGL' có thể được kết hợp với chức năng 'bắt đầu' và nó sẽ hoạt động giống nhau. Một ví dụ khác là ở nguồn của this, trong đó chức năng 'đánh dấu', được gọi là mỗi 15 mili giây, thực hiện cuộc gọi đến hai chức năng khác có thể được kết hợp với 'đánh dấu'. Tôi hiểu những phẩm chất của tổ chức này, nhưng tôi tò mò về hiệu quả về hiệu suất. Làm thực hành tốt này, đặc biệt là xem xét JavaScript là một ngôn ngữ thông dịch?Các cuộc gọi hàm trong JavaScript tốn bao nhiêu?
8
A
Trả lời
9
Thực tiễn tốt nhất cho bất kỳ ngôn ngữ nào là viết mã có thể đọc và duy trì trước tiên, sau đó tối ưu hóa nếu cần thiết.
Nếu chương trình của bạn chạy đủ nhanh được chia thành các đoạn dễ tiêu hóa, thì hãy để nó theo cách đó. Nếu nó chạy chậm, sau đó như hobodave đã đề cập, hồ sơ để tìm nguyên nhân của sự chậm chạp.
Rất có thể, nó sẽ do nguyên nhân khác ngoài chức năng gọi, nhưng nếu điều đó xảy ra, rồi bắt đầu kết hợp các chức năng với nhau, sau khi bạn đã theo dõi nó.
4
8
http://www.slideshare.net/madrobby/extreme-javascript-performance slide 10..19
10 000 cuộc gọi làm cho một sự khác biệt trong IE và Firefox. 1 cuộc gọi không.
Các vấn đề liên quan
- 1. Các cuộc gọi hàm JS tốn bao nhiêu (so với cấp phát bộ nhớ cho một biến)?
- 2. Thời gian gọi điện thoại tốn kém (NULL) trong vòng lặp máy chủ là bao nhiêu?
- 3. Tính toán bao nhiêu sau một cuộc gọi HttpContext.Current?
- 4. Từ điển Python tốn bao nhiêu để xử lý?
- 5. Gọi hàm Javascript từ cuộc gọi lại C++ trong V8
- 6. Hàm biên dịch nội tuyến sâu bao nhiêu?
- 7. Khi có nhiều cuộc gọi đến cùng một UDF trong một câu lệnh, nó sẽ được gọi bao nhiêu lần?
- 8. bao nhiêu lần strlen() được gọi trong vòng lặp này?
- 9. Các cuộc gọi hàm jquery Delay
- 10. Gọi hàm đệ quy trong JavaScript
- 11. Gọi phương thức đắt bao nhiêu .net
- 12. Cần thu thập bao nhiêu dữ liệu JSON gọi?
- 13. Bao bì các tệp Javascript trong một cuộc chiến tranh?
- 14. Cuộc gọi hàm trong mã XAML?
- 15. Dự án tốn bao nhiêu thời gian và công sức để tương thích ngược?
- 16. Có bao nhiêu kiểu hàm viết trong C?
- 17. Việc tạo tiền của CloudStorageAccount hoặc CloudBlobClient tốn bao nhiêu từ điểm hiệu suất?
- 18. Tăng tốc các cuộc gọi hàm ảo trong gcc
- 19. Có bao nhiêu đối số hàm tạo quá nhiều?
- 20. Đã bao nhiêu lần đăng nhập.error() được gọi là?
- 21. Sử dụng hàm tạo trong một cuộc gọi hàm?
- 22. GDB: Có lệnh nào cho phép bạn xem hàm được gọi bao nhiêu lần không?
- 23. Javascript: Chuyển tiếp các cuộc gọi hàm nhận số biến số của đối số
- 24. Có bao nhiêu cuộc gọi HttpWebRequest ra bên ngoài có thể được thực hiện trong ASP.NET/IIS7?
- 25. Dấu hoa thị bên ngoài các cuộc gọi hàm
- 26. Gọi hàm jQuery bên trong html trả về từ cuộc gọi AJAX
- 27. Gọi lại một cuộc gọi lại bằng javascript
- 28. gdb in đẹp với các cuộc gọi hàm trực tiếp
- 29. Cách tốt nhất để tính thời gian các hàm trong C++ dài bao nhiêu?
- 30. GDB ngắt cuộc gọi hàm đối tượng
Điều này có phụ thuộc vào phiên dịch bạn sử dụng không? – kennytm
Nếu ngôn ngữ lập trình yêu cầu bạn mất tổ chức đủ hiệu quả, ngôn ngữ đó phải được kích hoạt. – seanmonstar
Các cuộc gọi hàm trong Javascript ít tốn kém hơn so với cơn ác mộng duy trì do mã được tổ chức kém. – friedo