Hướng dẫn test javascript in browser - kiểm tra javascript trong trình duyệt
Bài viết được dịch từ: developers.google.com Show Hướng dẫn tương tác từng bước một này, sẽ dạy bạn quy trình cơ bản để debugging JavaScript trong Chrome DevTools. Nó sẽ cho bạn thấy cách debug một vấn đề cụ thể, nhưng quy trình chung mà bạn học được có thể áp dụng để debugging tất cả các loại bug của JavaScript. Nếu bạn đang sử dụng console.log() để tìm và fix các bug trong code của mình, hãy xem xét sử dụng quy trình được phác thảo trong hướng dẫn này. Nó thường nhanh và hiệu quả hơn rất nhiều.console.log() để tìm và fix các bug trong code của mình, hãy xem xét sử dụng quy trình được phác thảo trong hướng dẫn này. Nó thường nhanh và hiệu quả hơn rất nhiều.
Bước 1: Tái hiện bugTái hiện bug (reproduce) luôn là bước đầu tiên để debugging. "Tái hiện bug" có nghĩa là tìm ra một loạt các hành động làm cho bug xuất hiện. Bạn có thể cần tái hiện bug nhiều lần, vì thế cố gắng loại bỏ bất kỳ bước nào không cần thiết. Làm theo hướng dẫn dưới đây để tái hiện bug, cái bạn sẽ fix trong bài viết này. Có thể bạn quan tâm
Kết quả này là sai. Kết quả đúng phải là 6. Và đây chính là lỗi bạn sẽ fix.6. Và đây chính là lỗi bạn sẽ fix. Bước 2: Tạm dừng code với một breakpointDevTools giúp bạn tạm dừng code trong quá trình thực thi, và kiểm tra giá trị của tất cả các biến tại thời điểm đó. Công cụ để tạm dừng code gọi là breakpoint. Hãy thử:breakpoint. Hãy thử: 1. Mở DevTools trên trang demo bằng cách nhấn Command + Option + I (Mac) hoặc Control + Shift + I (Windows, Linux).Command + Option + I (Mac) hoặc Control + Shift + I (Windows, Linux). 2. Click Sources tab.Sources tab. 3. Click Event Listener Breakpoint để mở rộng phần này. DevTools sẽ liệt kê một loạt các loại event có thể mở rộng, chẳng hạn Animation và Clipboard.Event Listener Breakpoint để mở rộng phần này. DevTools sẽ liệt kê một loạt các loại event có thể mở rộng, chẳng hạn Animation và Clipboard. 4. Di chuyển đến mục Mouse, click Expand. DevTools sẽ hiển thị danh sách các mouse event, chẳng hạn click, với checkbox bên cạnh.Mouse, click Expand. DevTools sẽ hiển thị danh sách các mouse event, chẳng hạn click, với checkbox bên cạnh. 5. Chọn click event.click event. 6. Click Add Number 1 and Number 2 một lần nữa. DevTools tạm dừng và highlight một dòng code trong Sources panel. DevTool highlight dòng này:Add Number 1 and Number 2 một lần nữa. DevTools tạm dừng và highlight một dòng code trong Sources panel. DevTool highlight dòng này:
Khi bạn chọn click event, bạn đã thiết lập event-based breakpoint dựa trên tất cả các event click. Khi bất kỳ node nào được click, và node đó có một click handler (hàm thực thi khi event xảy ra), DevTools tự động dừng trên dòng đầu tiên của click handler. Chú ý: Đây chỉ là một trong nhiều kiểu breakpoint mà DevTools cung cấp. Breakpoint bạn cần sẽ phụ thuộc vào kiểu vấn đề bạn đang debugging. Bước 3: Duyệt qua codeMột trong những nguyên nhân phổ biến gây ra bug là khi script thực thi sai thứ tự. Duyệt qua code cho phép bạn thực thi code, từng dòng một và tìm ra chính xác nơi thực thi code theo thứ tự khác với bạn muốn. Hãy thử: 1. Trên Sources panel của DevTools, click Step into next function call tới bước thực thi hàm onClick(), từng dòng một. DevTools highlight dòng code sau:Sources panel của DevTools, click Step into next function call
2. Click Step over next function call . DevTools thực thi inputsAreEmpty() mà không đi vào trong nó. Chú ý cách DevTools bỏ qua một vài dòng code. Bởi vì inputsAreEmpty() có giá trị false, vì thế khối lệnh if không được thực thi. Step over next function call Đó là ý tưởng cơ bản về việc duyệt qua code. Nếu bạn xem code trong get-started.js, bạn có thể thấy rằng bug sẽ ở đâu đó trong hàm updateLabel(). Thay vì đi qua mọi dòng code, bạn có thể sử dụng một kiểu breakpoint khác để tạm dừng code gần hơn với vị trí của bug.get-started.js, bạn có thể thấy rằng bug sẽ ở đâu đó trong hàm updateLabel(). Thay vì đi qua mọi dòng code, bạn có thể sử dụng một kiểu breakpoint khác để tạm dừng code gần hơn với vị trí của bug. Bước 4: Thiết lập một breakpoint khácLine-of-code breakpoint là kiểu beakpoint phổ biến nhất. Khi bạn có một dòng code cụ thể, và muốn tạm dừng ở đó, sử dụng line-of-code breakpoint. Hãy thử:
Giá trị của sum có vẻ đáng nghi ngờ. Nó giống như là một chuỗi, trong khi nó phải là một số. Đây có thể là nguyên nhân gây ra lỗi.sum có vẻ đáng nghi ngờ. Nó giống như là một chuỗi, trong khi nó phải là một số. Đây có thể là nguyên nhân gây ra lỗi. Bước 5: Kiểm tra các giá trị của biếnMột nguyên nhân phổ biến khác có thể gây ra bug là khi một biến hay một function tạo ra một giá khác với mong đợi. Nhiều lập trình viên sử dụng console.log() để theo dõi các biến thay đổi như thế nào, nhưng console.log() có thể khá tẻ nhạt và không hiệu quả vì 2 lý do. Đầu tiên, bạn cần chỉnh sửa code với nhiều câu lệnh console.log(). Thứ hai, bạn có thể không biết chính xác biến nào liên quan tới bug, vì thế bạn cần in ra nhiều biến.console.log() để theo dõi các biến thay đổi như thế nào, nhưng console.log() có thể khá tẻ nhạt và không hiệu quả vì 2 lý do. Đầu tiên, bạn cần chỉnh sửa code với nhiều câu lệnh console.log(). Thứ hai, bạn có thể không biết chính xác biến nào liên quan tới bug, vì thế bạn cần in ra nhiều biến. Một trong những sự thay thế của DevTools với console.log() là Watch Expressions. Sử dụng Watch Expressions để theo dõi giá trị của các biến theo thời gian. Như tên gọi Watch Expressions không chỉ giới hạn trong các biến. Bạn có thể lưu trữ mọi biểu thức JavaScript trong Watch Expression. Hãy thử:Watch Expressions. Sử dụng Watch Expressions để theo dõi giá trị của các biến theo thời gian. Như tên gọi Watch Expressions không chỉ giới hạn trong các biến. Bạn có thể lưu trữ mọi biểu thức JavaScript trong Watch Expression. Hãy thử:
Đúng như dự đoán, sum là một chuỗi, thay vì là một số. Đây chính là nguyên nhân gây ra lỗi.sum là một chuỗi, thay vì là một số. Đây chính là nguyên nhân gây ra lỗi. Công cụ thay thế thứ 2 của DevTools cho console.log() là Console. Sử dụng Console để thực hiện các câu lệnh JavaScript. Các lập trình viên thường sử dụng Console để ghi đè giá trị của biến khi debugging. Trong trường hợp này, Console có thể giúp kiểm tra các phương án fix bug của bạn. Hãy thử:console.log() là Console. Sử dụng Console để thực hiện các câu lệnh JavaScript. Các lập trình viên thường sử dụng Console để ghi đè giá trị của biến khi debugging. Trong trường hợp này, Console có thể giúp kiểm tra các phương án fix bug của bạn. Hãy thử:
Bước 6: Fix lỗiSau khi đã xác định được phương án để fix bug. Bạn cần chỉnh sửa code với phương án của mình và chạy lại code. Bạn không cần phải rời khỏi DevTools để làm điều đó. Bạn có thể chỉnh sửa code JavaScript trực tiếp trong DevTools UI. Hãy thử:
Nhớ rằng quy trình này chỉ áp dụng để fix code đang chạy trong trình duyệt của bạn. Nó không fix code cho tất cả người dùng chạy trang web của bạn. Để làm điều đó, bạn cần fix code, cái đang ở trên server của bạn. Bước tiếp theoChúc mừng! Bây giờ bạn đã biết những thứ cơ bản về debugging JavaScript trong DevTools. Bài hướng dẫn này mới chỉ cho bạn thấy 2 cách để thiết lập breakpoint. DevTools cung cấp nhiều cách khác, bao gồm:
Đọc thêmhttps://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints https://developers.google.com/web/tools/chrome-devtools/javascript/reference#stepping |
Bài Viết Liên Quan
Hướng dẫn dùng quicktimestamp trong PHP
Trong bài học về PHP này, bạn sẽ học cách trích xuất hoặc định dạng ngày và giờ trong PHP.Hàm date () của PHP chuyển đổi dấu thời gian thành ngày và giờ ...
Hướng dẫn phpseclib cryptrsa - phpseclib cryptrsa
Giới thiệu SSH và FTPSSH là gì ?SSH (viết tắt của từ Secure Socket Shell) là một giao thức mạng được sử dụng để đăng nhập vào một máy tính từ xa. Chẳng ...
Hướng dẫn how to time add in php? - làm thế nào để thêm thời gian trong php?
33 Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.Learn more. Tôi có một biểu mẫu nhận được giá trị thời ...
Hướng dẫn extract a substring from a string in python - trích xuất một chuỗi con từ một chuỗi trong python
490 Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.Learn more. Giả sử tôi có một chuỗi import re text = ...
Hướng dẫn python unittest print statement - câu lệnh in đơn nhất python
1 New! Save questions or answers and organize your favorite content. Learn more.Learn more. I am new to writing python unit tests, Please help me to write test cases for the below function which is ...
Hướng dẫn convert string to list python - stack overflow - chuyển đổi chuỗi thành danh sách python - tràn ngăn xếp
>>> QH QD JC KD JS.split() [QH, QD, JC, KD, JS] split:Trả về một danh sách các từ trong chuỗi, sử dụng sep làm chuỗi phân cách. Nếu maxsplit được đưa ra, ...
Hướng dẫn dùng locale list trong PHP
Cảm ơn Rico Neitzel về gợi ý. Thay vì cố gắng định dạng ngày php, hãy sử dụng strftime. Để xem 3 chữ cái đầu tiên của tên tháng bằng ngôn ngữ của bạn ...
Cao đẳng dược sài gòn tuyển sinh 2023
Ngành Dược đang phát triển mạnh mẽ, nhất là sau đại dịch Covid – 19. Việc làm ngành Dược khá dễ tìm trong xã hội hiện đại đang phát triển, việc chọn ...
Hướng dẫn run python script schedule ubuntu - chạy lịch trình tập lệnh python ubuntu
Đôi khi chúng ta cần thực hiện một nhiệm vụ mỗi ngày và chúng ta có thể tự mình thực hiện các nhiệm vụ lặp đi lặp lại này hoặc chúng ta có thể sử ...
Hướng dẫn where should i store javascript files? - Tôi nên lưu trữ các tệp javascript ở đâu?
1 Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.Learn more. Tôi có một tệp JavaScript có nhiều chức năng được ...
Hướng dẫn how do you print a sub list in python? - làm thế nào để bạn in một danh sách phụ trong python?
Đưa ra một danh sách, in tất cả những người con của một danh sách. & Nbsp; Examples: Input : list = [1, 2, 3] Output : [[], [1], [1, 2], [1, 2, 3], [2], [2, 3], ...
Hướng dẫn php mvc project source code - mã nguồn dự án php mvc
PHP-MVC-ADVANCEDLưu ý: Điều này giống như Panique/PHP-MVC, nhưng với các tính năng bổ sung. REPO này đang được phát triển, nhiều hơn nữa sẽ đến ...Mới trong ...
Hướng dẫn build a restful api with node js express mongodb - xây dựng một api yên tĩnh với nút js express mongodb
Trong bài viết này, chúng tôi sẽ xây dựng một API RESTful bằng Node, Express và MongoDB. Chúng tôi sẽ tạo các điểm cuối để tạo dữ liệu, đọc dữ liệu, cập ...
Hướng dẫn python or vs pipe - python hoặc vs ống
Tác giả: Guido Van Rossum, Barry Warsaw, Nick Coghlan Tình trạng: Activetype: ProcessCreated: 05-Jul-2001post-History: 05-Jul-2001, 01-Aug-2013:Guido van Rossum , Barry Warsaw , Nick Coghlan ...
Hướng dẫn login and logout code in python - mã đăng nhập và đăng xuất trong python
Giới thiệuHướng dẫn, ví dụ về đăng nhập và đăng nhập Python sẽ chỉ cho bạn cách đăng nhập và đăng xuất người dùng bằng phiên sử dụng phiên trong ...
Hướng dẫn python string to list - chuỗi python vào danh sách
Trong hướng dẫn ngắn này, hãy tìm cách chuyển đổi chuỗi thành liệt kê trong Python. Chúng tôi xem xét tất cả các cách bạn có thể đạt được điều này cùng ...
Hướng dẫn dùng python max python
Hàm max() trong Python trả về số, ký tự, chuỗi lớn nhất trong các tham số đã truyền.Nội dung chính Cú pháp Ví dụ hàm max() trong Python Ví dụ hàm max() trong ...
Dream league soccer 2023 hack full vàng kim cương
Tên Dream League Soccer 2022 Link phiên bản gốc com.firsttouchgames.dls7 Nhà xuất bản First Touch Games Ltd. Chuyên mụcGame mod Phiên bản 9.01 Kích cỡ 487M Yêu Cầu Android ...
Hướng dẫn jobs after learning python - việc làm sau khi học python
Nội dung chínhChọn một công việc bạn yêu thích, và bạn sẽ không bao giờ phải làm việc một ngày trong cuộc sống của bạnKhoa học dữ liệuPhát triển phần ...
Hướng dẫn enable javascript on chrome - bật javascript trên chrome
Để xem quảng cáo của Google trên trang web, hãy kích hoạt JavaScript trong trình duyệt của bạn.Kích hoạt JavaScript trong Google ChromeMở Chrome trên máy tính.Chrome trên ...