Hướng dẫn where does javascript code execute? - mã javascript thực thi ở đâu?

Chào mừng bạn đến với McBurger, một cửa hàng burger lạ mắt (đúng đúng). Mùi của dầu mỡ khô xâm chiếm lỗ mũi của bạn, khiến ruột của bạn bị nhói lên với sự pha trộn của sự ghê tởm và thích thú. Bạn kiên nhẫn chờ đợi xếp hàng đằng sau một người mẹ nên là con người. Cuối cùng, bạn gặp mặt thu ngân tuổi teen đối mặt, không phải không có gì đáng tiếc. Bạn đặt một chiếc burger (bất ngờ) và một số khoai tây chiên. Bạn trả tiền và đợi một chút cho đơn đặt hàng của bạn.

Sau một thời gian, bạn nhận được bánh burger của bạn, chỉ để phát hiện ra rằng họ đã quên khoai tây chiên của bạn! Bạn đi đến máy tính tiền một lần nữa, và yêu cầu họ. Bạn lại chờ đợi khoai tây chiên đã sẵn sàng. Một khi họ đang ở, bạn gồ ghề mọi thứ và rời đi.

Điều này có liên quan gì đến bất cứ điều gì?

Nhân viên thu ngân Angsty là máy chủ, có lẽ đang chạy PHP.

Bạn là khách hàng, có thể là một trình duyệt web có khả năng hiểu HTML/CSS/JS.

Để có được dịch vụ, bạn tiếp cận quầy và nói "Tôi muốn một chiếc burger". McBurger sau đó chuẩn bị và cho bạn một chiếc burger.

Để có được dịch vụ, một trình duyệt web tiếp cận máy chủ và nói "Tôi muốn trang này". Máy chủ của bạn sau đó chuẩn bị và cung cấp cho bạn một trang.

Khía cạnh quan trọng nhất của điều này là không có sự pha trộn của khách hàng và McBurger. Bạn sẽ không chuẩn bị khoai tây chiên của riêng mình và McBurger sẽ không uống sữa lắc của bạn. Theo cách tương tự, trình duyệt web sẽ không chạy PHP và máy chủ sẽ không chạy JavaScript cho bạn. Nếu bạn muốn McBurger cung cấp cho bạn kem caramel nổi tiếng của họ, bạn phải tiếp cận quầy và yêu cầu một cái. Nếu bạn muốn trang web của mình lưu một cái gì đó vào DB khi bạn nhấp vào nút, bạn phải tiếp cận máy chủ và yêu cầu nó làm như vậy.

Bạn và McBurger giao tiếp qua âm thanh. Trình duyệt và máy chủ giao tiếp qua HTTP.

Hãy xem HTTP.

Thỏ, bạn đã đưa tôi đi đâu?

Nếu bạn đang chạy trên khá nhiều bất kỳ bản phân phối Linux hoặc máy Mac nào, bạn đã cài đặt Netcat. Nếu bạn đang ở trên Windows, xin lỗi, bạn sẽ phải lấy từ của tôi cho phần tiếp theo hoặc tải xuống cổng NC hoặc máy khách Telnet thuộc loại nào đó.

Dù sao, hãy mở thiết bị đầu cuối yêu thích của bạn và hãy nói chuyện với một số máy chủ trên cổng 80 (cổng HTTP mặc định):

% nc www.stackoverflow.com 80

"Welp, điều đó không làm được gì nhiều, chỉ có một lời nhắc trống trước mặt tôi!"

Đừng lo lắng, người ngẫu nhiên mà tôi nói chuyện trong những câu trả lời này, chúng tôi không nói gì với máy chủ! Ở McBurger, đây là tương đương với việc đi bộ đến quầy và nhìn chăm chú vào nhân viên thu ngân.

Just.

Staring.

Chúng tôi phải bắt đầu sử dụng hợp âm thanh nhạc của mình nhanh chóng, hoặc họ sẽ gọi bảo mật. Tôi không thể quay lại địa ngục Martha đó, tôi chỉ ... không thể.

... Dù sao, chúng ta cần nói với nhân viên thu ngân rằng chúng ta muốn một chiếc burger. Trong HTTP, đó là đưa ra yêu cầu nhận:

% nc www.stackoverflow.com 80
GET / HTTP/1.1

Nhấn Enter hai lần, và Hurray, chúng tôi có một số đầu ra!

HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Date: Sat, 02 Aug 2014 10:55:16 GMT
Content-Length: 334

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Hostname</h2>
<hr><p>HTTP Error 400. The request hostname is invalid.</p>
</BODY></HTML>

Điều đó không thể tốt. Rất nhiều thứ tôi không hiểu, nhưng nó nói rằng tên máy chủ yêu cầu không hợp lệ. Hãy thử lại điều đó, chỉ có chúng tôi cung cấp cho nó một máy chủ lần này:

% nc www.stackoverflow.com 80
GET / HTTP/1.1
Host: stackoverflow.com

Nhấn vào Enter hai lần và "Holy Bajesus, đó là rất nhiều sản lượng!" Có người, đó là.

Thỏ, điều này có liên quan như thế nào?

Vậy làm thế nào điều này được kết nối với PHP và một số sơ đồ? Vẫn nghĩ rằng bạn có thể chạy PHP trên nhấp chuột? Hãy viết một "thế giới xin chào" trong PHP và xem tại sao nó không thể.

Chỉ trong dịp này, tôi đã cài đặt PHP và viết một số tệp:

# example.php
<?php
echo 'Hi mom!';
?>

Thật tuyệt, hãy thực hiện một yêu cầu và xem những gì đang xảy ra:

% nc localhost 80
GET /example.php HTTP/1.1
Host: localhost

Hai nghi thức nhập các khóa và:

HTTP/1.1 200 OK
Server: nginx/1.2.1
Date: Sat, 02 Aug 2014 11:00:52 GMT
Content-Type: text/html

Hi mom!

Xin chúc mừng, chúng tôi có khớp burger của riêng mình! Chúng tôi có một máy chủ, mà chúng tôi có thể trả lời khách hàng! Niềm vui cho cả thế giới!

Điều gì đã xảy ra ở đây là cuộc trò chuyện này:

  • Tôi: Cho tôi /example.php.
  • Máy chủ: Được rồi. Này php, chạy example.php
  • PHP: Dù sao đi nữa. Đầu ra là Hi mom!
  • Máy chủ: Bạn có đi khách hàng, Hi mom!
  • Tôi: Cảm ơn bạn!

Tóm lại là

  • Máy chủ và máy khách là hai sinh vật riêng biệt.
  • Họ giao tiếp qua một cái gì đó gọi là HTTP.
  • Nếu khách hàng muốn một cái gì đó, nó phải hỏi máy chủ cho nó.
    • Mà nó làm bằng cách thực hiện các yêu cầu HTTP.

Tự quảng cáo không biết xấu hổ: Nếu bạn muốn biết cách tạo các yêu cầu HTTP từ JavaScript, bạn có thể tham khảo ý chính của tôi về vấn đề này (cảnh báo: chứa dấu vết của các từ chửi thề).

JavaScript được thực thi ở đâu trong HTML?

JavaScript trong hoặc bạn có thể đặt bất kỳ số lượng tập lệnh nào trong tài liệu HTML.Các tập lệnh có thể được đặt trong hoặc trong phần của trang HTML hoặc trong cả hai. or You can place any number of scripts in an HTML document. Scripts can be placed in the , or in the section of an HTML page, or in both.

JavaScript chạy trên trình duyệt hoặc máy chủ?

JavaScript ban đầu được thiết kế để chạy trong trình duyệt, nhưng JavaScript cũng có thể được tìm thấy ở những nơi khác.JavaScript là ngôn ngữ lập trình dựa trên web duy nhất có thể chạy trên cả phía trước và phụ trợ.JavaScript is the only web-based programming language that can run on both the frontend and the backend.

Mã JavaScript có thực thi từng dòng không?

JavaScript là ngôn ngữ đơn luồng, trong đó chỉ có một lệnh thực thi tại một thời điểm.Nó có một mô hình thực thi đồng bộ, trong đó mỗi dòng được thực hiện theo từng dòng, từ trên xuống dưới.each line is executed line by line, top to bottom.

Tệp JS được thực thi như thế nào?

Các trình thông dịch tích hợp của trình duyệt tìm kiếm tệp thẻ hoặc tệp .js được liên kết với tệp HTML trong khi tải một trang web, sau đó bắt đầu diễn giải và thực thi.Ví dụ: Trong phương pháp này, chúng tôi đã viết mã JavaScript trong tệp HTML bằng cách sử dụng thẻ. js file linked with HTML file while loading a web page, and then interpretation and execution starts. Example: In this approach, we have written JavaScript code within the HTML file itself by using the