Khối mã trong JavaScript là gì
Một khối trong JavaScript được sử dụng để nhóm 0 hoặc nhiều câu lệnh bằng dấu ngoặc nhọn ( Show
Các khối thường được sử dụng nhất với các câu lệnh Ở chế độ không nghiêm ngặt, các hàm và biến 0 không có phạm vi khối
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Nhưng khi sử dụng
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Lưu ý rằng không có SyntaxError nào được đưa ra trong ví dụ 4 bên trong khối được chứa trong phạm vi của chính nó và do đó không xung đột với phạm vi bên ngoàiChúng tôi sử dụng các khối trong JavaScript rất nhiều nên đôi khi rất dễ quên khái niệm về chúng. Chúng thường có vẻ gắn liền với mã liền kề của chúng, chẳng hạn như câu lệnh hoặc hàm 5. Nhưng như chúng ta đã thấy trong ví dụ trên, bạn có thể tạo mã hoàn toàn hợp lệ với các khối bị cô lập của riêng mình nếu muốn
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Mặc dù điều này có vẻ lạ (gần giống như thể bạn đang tạo một đối tượng khi đang di chuyển), nhưng nó hợp lệ 100%. Khối là niềm vui. 🧱 Cho đến nay, chúng tôi chủ yếu làm việc với các bước thực hiện một hành động tại một thời điểm, chẳng hạn như các bước HTTP trong Tập lệnh giao thức hoặc các bước điều hướng, nhấp và nhập trong Tập lệnh trình duyệt. Những bước đơn lẻ đó có thể thực hiện được rất nhiều nếu tập lệnh của bạn tiến hành theo kiểu tuyến tính (như hầu hết các tập lệnh thử nghiệm nên làm), nhưng nếu bạn cần luồng điều khiển đặc biệt hoặc logic có điều kiện hoặc vòng lặp thì sao? Câu trả lời của Loadster là Code Blocks Khối mã JavaScriptCác khối mã có thể tồn tại ở bất kỳ đâu trong tập lệnh của bạn. Trên thực tế, nếu muốn, bạn có thể tạo một tập lệnh chỉ gồm một khối mã và thực hiện mọi thứ bằng JavaScript Một khối mãCác khối mã linh hoạt hơn so với kịch bản từng bước thông thường vì bạn có luồng điều khiển của một ngôn ngữ lập trình thực tế. vòng lặp, điều kiện, hàm, v.v. Để thêm khối mã vào tập lệnh của bạn, hãy chọn Thêm khối mã từ thanh trên cùng Biến khối mã và Phạm vi chức năngCác khối mã được đặt trong phạm vi riêng cho bot đang thực thi chúng. Điều đó có nghĩa là nếu bạn khai báo một biến hoặc hàm trong một tập lệnh, nó sẽ chỉ tồn tại cho bot đó đang chạy tập lệnh và không tồn tại cho bất kỳ bot nào khác cũng có thể đang chạy tập lệnh đó Cũng giống như người dùng thực sự, mỗi bot tương tác với trang web của bạn một cách độc lập với tất cả những người khác Ngoài ra, vì ngôn ngữ kịch bản là JavaScript, các biến JavaScript thông thường (được khai báo bằng 1 hoặc 2 hoặc 3) trong một khối mã có thể không được xác định bên ngoài khối mã đó. Nếu bạn cần một biến để duy trì giữa các bước, hãy đặt biến đó làm biến bot đặc biệt với 4 để giá trị 5 nằm trong phạm vi xuyên suốt tập lệnhĐối tượng JavaScript toàn cầuNgoài tất cả các cấu trúc ngôn ngữ JavaScript tiêu chuẩn, các khối mã hiển thị một số đối tượng quan trọng dành riêng cho Loadster mà bạn có thể sử dụng trong tập lệnh của mình người máyĐối tượng 6 là toàn cầu trong ngữ cảnh của một bot duy nhất. Nó đại diện cho bot hiện đang thực thi khối mã. Đối tượng 6 này hiển thị các phương thức sau
Điều quan trọng cần lưu ý là mặc dù cú pháp là JavaScript nhưng các phương thức này đều đồng bộ. Không cần phải thực hiện một chuỗi lời hứa hoặc gọi lại hoặc bất cứ điều gì tương tự, bởi vì quá trình xử lý thực tế được thực hiện ở hậu trường bởi các công nhân đa luồng, vì vậy lập trình đồng bộ ở đây không phải là một thực hành nguy hiểm nếu bạn xuất thân từ nền tảng httpMọi bot đều có quyền truy cập vào ứng dụng khách HTTP có tên là 8 có thể đưa ra yêu cầu. Các bước này tương đương với các bước HTTP thông thường trong tập lệnh HTTP, nhưng bạn cũng có thể chạy chúng theo chương trình từ một khối mã
trình duyệtTrong tập lệnh trình duyệt, các khối mã cũng cung cấp cho bạn quyền truy cập có thể lập trình trực tiếp vào phiên bản trình duyệt của bot thông qua đối tượng 9Tương tác trang trong một khối mãDưới đây là một vài ví dụ về tập lệnh trình duyệt cơ bản trong một khối mã, rất giống với những gì bạn có thể thực hiện với các bước riêng lẻ
Chúng đang chặn các cuộc gọi đồng bộ với quá trình xử lý diễn ra ở hậu trường, vì vậy bạn không cần sử dụng 0 hoặc lệnh gọi lại hoặc chuỗi lời hứa cho các hành động trình duyệt tuần tựĐánh giá JavaScript trong trình duyệt từ một khối mãCác khối mã chạy bên ngoài trình duyệt, vì vậy chúng không có quyền truy cập vào trạng thái JavaScript bên trong trình duyệt của bot, chẳng hạn như các phần tử DOM và các biến trên trang Để truy cập từ khối mã của bạn, bạn có thể sử dụng 1, giống như khối đánh giá nhưng được nhúng trong khối mãĐây là một ví dụ về luồng điều khiển trong một khối mã kiểm tra xem có bao nhiêu phần tử 2 tồn tại trong trình duyệt. Nếu nó lớn hơn 0, nó sẽ lưu trữ một. Nếu không, nó sẽ ghi một tin nhắn và không làm gì cả
Hãy nhớ rằng luồng điều khiển đang diễn ra trong khối mã bên ngoài trình duyệt. Chỉ JavaScript được chuyển đến 3 xảy ra bên trong trình duyệtLàm việc với cửa sổ trình duyệtMỗi bot trình duyệt có cửa sổ trình duyệt ẩn danh riêng để bắt đầu và bạn có thể mở các cửa sổ/tab bổ sung trong tập lệnh của mình. Trang web của bạn cũng có thể tự động mở các cửa sổ/tab khác Dưới đây là một số cách bạn có thể mở, đóng, thay đổi kích thước và chuyển đổi giữa các cửa sổ trong tập lệnh trình duyệt
Truyền tiêu đề tùy chỉnh trong tập lệnh trình duyệtBạn có thể cần bot gửi tiêu đề yêu cầu tùy chỉnh với mọi yêu cầu Đôi khi điều này là cần thiết để bỏ qua bộ lọc bot hoặc bảo vệ DDoS của trang web của bạn để cho phép lưu lượng truy cập thử nghiệm. Bạn có thể cần ghi đè tiêu đề 4 vì những lý do tương tự
Bạn có thể đặt và bỏ đặt các tiêu đề chung tại bất kỳ điểm nào trong tập lệnh của mình bằng một khối mã. Sau khi bạn đặt tiêu đề chung, bot sẽ gửi tiêu đề đó cùng với tất cả các yêu cầu tiếp theo, cho đến khi bạn xóa tiêu đề đó hoặc đạt đến phần cuối của tập lệnh Xác thực HTTP Basic hoặc NTLM trong tập lệnh trình duyệtNếu trang web của bạn yêu cầu xác thực HTTP Basic hoặc NTLM, bạn có thể cung cấp thông tin đăng nhập trong một khối mã
Sau khi bạn đặt thông tin xác thực tên người dùng và mật khẩu trong tập lệnh của mình, bot sẽ gửi chúng đến bất kỳ trang web nào yêu cầu chúng, vì vậy hãy đảm bảo bạn không kiểm tra bất kỳ trang web độc hại nào có thể đánh cắp chúng Hãy ghi nhớ, phương pháp này chỉ hoạt động để xác thực giao thức HTTP, không phải là xác thực dựa trên biểu mẫu phổ biến hơn được sử dụng trong các ứng dụng web hiện nay Trả lời hộp thoại xác nhận của trình duyệtCác trình duyệt vốn hỗ trợ xác nhận và cảnh báo để nhận đầu vào của người dùng. Đây là một chút lỗi thời và thay vào đó, nhiều ứng dụng sử dụng các hộp thoại phương thức tùy chỉnh trên trang. Tuy nhiên, các bot Loadster biết cách phản hồi các cửa sổ bật lên xác nhận này Theo mặc định, các bot luôn trả lời phủ định bằng cách nhấp vào Hủy trên một thông báo xác nhận và chúng chỉ cần đóng một thông báo cảnh báo. Nếu bạn cần trả lời xác nhận ở dạng khẳng định (nhấp vào OK), bạn có thể báo trước cho bot
Nếu bạn vượt qua 5 tại đây, bot sẽ trả lời OK hoặc Yes cho các lời nhắc xác nhận tiếp theo. Bạn có thể trở lại hành vi ít dễ chịu ban đầu bằng cách vượt qua 6bảng điều khiểnCác khối mã cũng hiển thị một 7 đơn giản để ghi nhật ký
Thông báo được ghi vào bảng điều khiển hiển thị trong nhật ký tập lệnh và hỗ trợ bạn gỡ lỗi tập lệnh JSONNếu đang thử nghiệm API, bạn sẽ thường cần phân tích cú pháp dữ liệu JSON để xem xét các thuộc tính cụ thể. Bạn có thể sử dụng 8 thông thường cho việc này
XMLVì phân tích cú pháp XML không phải là một tính năng ngôn ngữ tiêu chuẩn của JavaScript, Loadster bao gồm trình phân tích cú pháp xmldoc mã nguồn mở. Tài liệu bổ sung cho trình phân tích cú pháp này có sẵn trên GitHub, nhưng đây là một ví dụ nhanh 0định dạngLoadster cung cấp thư viện 9 tích hợp để giúp bạn mã hóa và giải mã chuỗi cũng như tạo dấu thời gian, UUID và dữ liệu ngẫu nhiên. Dưới đây là một số ví dụ về đầu vào và đầu ra 1tiền điện tửĐôi khi, bạn có thể cần áp dụng hàm băm cho một phần dữ liệu (với bí mật tùy chọn) để tạo giá trị băm mà máy chủ của bạn mong đợi. Một số hàm băm được sử dụng phổ biến hơn được bao gồm trong thư viện 0 tích hợp của Loadster mà bạn có thể gọi từ bất kỳ khối mã nào 2Đừng quá phấn khích với từ “tiền điện tử” – đối tượng được gọi như vậy bởi vì nó là nơi chứa các hàm mã hóa và hàm băm, không nhất thiết phải liên quan đến tiền điện tử Ví dụ về những việc cần làm trong Code BlocksKhông gì bằng học bằng ví dụ. Dưới đây là một vài ví dụ giả tạo về những điều bạn có thể làm với các khối mã ví dụ 1. Thực hiện các yêu cầu HTTP có lập trình theo chuỗiĐối tượng 8 (đại diện cho tác nhân người dùng HTTP thuộc bot hiện đang chạy) có các phương thức cho tất cả các phương thức HTTP phổ biến (GET, POST, v.v.) 3ví dụ 2. Chuyển tiêu đề yêu cầu tùy chỉnh bằng yêu cầu HTTPBạn có thể chuyển các tiêu đề yêu cầu tùy chỉnh với mỗi yêu cầu, dưới dạng một đối tượng có các cặp khóa-giá trị hoặc trong một mảng 4ví dụ 3. Xác thực các phản hồi HTTP bằng các hàm trình xác thựcTrình xác thực (tương tự như Quy tắc xác thực mà bạn có thể sử dụng với các bước HTTP thông thường) gọi hàm JavaScript để kiểm tra phản hồi và trả về true nếu nó hợp lệ hoặc sai nếu không Các hàm trình xác thực có thể là các hàm JavaScript bình thường hoặc các hàm mũi tên ES2016+ mới hơn Bạn có thể chỉ định nhiều hàm trình xác thực cho một phản hồi 5Ví dụ 4. Nắm bắt các biến theo chương trình từ phản hồi HTTPThông thường, máy chủ sẽ gửi cho bạn một số dữ liệu mà bạn cần lưu và sử dụng sau này trong tập lệnh của mình Trong các khối mã, bạn có thể nắm bắt chúng từ phản hồi và lưu trữ chúng bằng chức năng trình xác thực. Lưu ý rằng chúng tôi cũng sử dụng 2 để chụp ảnh; Chỉ cần gọi 3 ở bất kỳ đâu trong khối mã của bạn để đặt biến trong phạm vi bot. Các biến đặc biệt này có sẵn cho toàn bộ lần lặp lại tập lệnh Loadster của bot, không giống như các biến JavaScript thông thường nằm trong phạm vi khối mã riêng lẻ và có thể không có sẵn cho các bước tiếp theo 6Ví dụ 5. Chấp nhận mã trạng thái HTTP 4xx/5xxTheo mặc định, Loadster tự động diễn giải mọi mã trạng thái HTTP 400 trở lên là lỗi và báo cáo như vậy Nhưng có những lúc bạn thực sự muốn mã trạng thái HTTP 4xx hoặc 5xx. Ví dụ: bạn có thể đang thử nghiệm API REST và mong đợi nó trả về Xung đột HTTP 409 khi tài nguyên đã tồn tại Trong những trường hợp như vậy, bạn có thể sử dụng 4 với yêu cầu của mình để Loadster sẽ bỏ qua mã trạng thái HTTP và bạn có thể tự diễn giải mã trạng thái 7Ví dụ 6. Mã hóa và giải mã với Base64Mã hóa Base64 thường được sử dụng để mã hóa dữ liệu không phải chuỗi dưới dạng chuỗi ASCII, vì vậy dữ liệu này có thể được gửi qua các giao thức dựa trên văn bản hoặc được so sánh trong trình soạn thảo văn bản. Trong các khối mã, chúng tôi hiển thị thư viện 9 để xử lý mã hóa và giải mã Base64 8Nếu dữ liệu được mã hóa Base64 thực sự là một chuỗi, bạn sẽ cần chuyển đổi mảng byte thành chuỗi sau đó bằng cách sử dụng 6, như thế này 9Luồng điều khiển, vòng lặp và logic có điều kiệnVòng lặp và điều kiện có thể được thực hiện với tất cả các cấu trúc ngôn ngữ JavaScript thông thường. Ví dụ đơn giản này cho thấy vòng lặp với vòng lặp 7, hàm mô đun 8, câu lệnh 9, thiết lập và nhận các biến bot đặc biệt với phép nội suy biến của 0 0Hạn chế của khối mãHãy nhớ rằng các khối mã không chạy trong trình duyệt, vì vậy chúng không có quyền truy cập trực tiếp vào DOM trực tiếp theo cách mà JavaScript dựa trên trình duyệt thực hiện. Hãy cẩn thận để không nhầm lẫn chúng với JavaScript trên trang (jQuery, React, v.v.). Thay vào đó, các tập lệnh được thực thi bởi các bot của bạn chạy trên công cụ tải và chúng có quyền truy cập vào các đối tượng như 6, 8, 3, 7, v.v.Nếu bạn cần chạy mã bên trong trình duyệt, hãy xem Đánh giá khối Nhận trợ giúp với các khối mã của bạnNếu bạn gặp khó khăn với các khối mã hoặc muốn yêu cầu một thư viện trợ giúp khác, chúng tôi rất sẵn lòng trợ giúp. Chỉ cần gửi email cho chúng tôi. Chúng tôi luôn quan tâm đến cách bạn sử dụng các khối mã trong Loadster Khối mã nghĩa là gì?Trong lập trình máy tính, khối hoặc khối mã hoặc khối mã là cấu trúc từ vựng của mã nguồn được nhóm lại với nhau . Các khối bao gồm một hoặc nhiều khai báo và câu lệnh.
Ví dụ về khối mã là gì?Ví dụ về mã khối là Mã Reed–Solomon, mã Hamming, mã Hadamard, mã Expander, mã Golay và mã Reed–Muller . Những ví dụ này cũng thuộc loại mã tuyến tính và do đó chúng được gọi là mã khối tuyến tính.
Mục đích của các khối mã * là gì?CodeBlocks là một C++ IDE (Môi trường phát triển tích hợp) đa nền tảng cho phép các nhà phát triển viết mã, gỡ lỗi, xây dựng, chạy và triển khai các dự án . Nó cung cấp các tùy chọn mạnh mẽ để tùy chỉnh môi trường phát triển của bạn, chẳng hạn như tích hợp kiểm soát nguồn và chế độ xem đồ họa về mức sử dụng bộ nhớ và CPU.
CodeBlocks có thể chạy JavaScript không?Các khối mã chạy bên ngoài trình duyệt nên chúng không có quyền truy cập vào trạng thái JavaScript bên trong trình duyệt của bot , chẳng hạn như các phần tử DOM và biến trên trang. |