JavaScript sang C#

Ví dụ

hãy x, y, z;
x = 5;          // Statement 2
y = 6;          // Statement 3
z = x + y;      // Statement 4

Tự mình thử »

Chương trình JavaScript

Một chương trình máy tính là một danh sách các "hướng dẫn" được "thực hiện" bởi một máy tính

Trong một ngôn ngữ lập trình, các hướng dẫn lập trình này được gọi là các câu lệnh

Một chương trình JavaScript là một danh sách các câu lệnh lập trình

Trong HTML, các chương trình JavaScript được thực thi bởi trình duyệt web

Các câu lệnh JavaScript bao gồm

Giá trị, Toán tử, Biểu thức, Từ khóa và Nhận xét

Câu lệnh này yêu cầu trình duyệt viết "Xin chào Dolly. " bên trong một phần tử HTML có id="demo"

Hầu hết các chương trình JavaScript chứa nhiều câu lệnh JavaScript

Các câu lệnh được thực hiện, từng cái một, theo thứ tự như khi chúng được viết

Các chương trình JavaScript [và các câu lệnh JavaScript] thường được gọi là mã JavaScript

Dấu chấm phẩy ;

Các câu lệnh JavaScript phân tách bằng dấu chấm phẩy

Thêm dấu chấm phẩy vào cuối mỗi câu lệnh thực thi

ví dụ

hãy a, b, c;
a = 5;        // Assign the value 5 to a
b = 6;        // Assign the value 6 to b
c = a + b;    // Assign the sum of a and b to c

Tự mình thử »

Khi được phân tách bằng dấu chấm phẩy, nhiều câu lệnh trên một dòng được phép

Trên web, bạn có thể thấy các ví dụ không có dấu chấm phẩy.
Kết thúc câu lệnh bằng dấu chấm phẩy là không bắt buộc, nhưng rất khuyến khích.

Khoảng trắng JavaScript

JavaScript bỏ qua nhiều khoảng trắng. Bạn có thể thêm khoảng trắng vào tập lệnh của mình để dễ đọc hơn

Các dòng sau là tương đương

let person="Hege";
let person="Hege";

Một cách thực hành tốt là đặt khoảng trắng xung quanh các toán tử [ = + - * / ]

Độ dài dòng JavaScript và ngắt dòng

Để dễ đọc nhất, các lập trình viên thường muốn tránh các dòng mã dài hơn 80 ký tự

Nếu một câu lệnh JavaScript không vừa trên một dòng, thì nơi tốt nhất để ngắt câu lệnh đó là sau một toán tử

Khối mã JavaScript

Các câu lệnh JavaScript có thể được nhóm lại với nhau trong các khối mã, bên trong dấu ngoặc nhọn {. }

Mục đích của các khối mã là xác định các câu lệnh sẽ được thực thi cùng nhau

Một nơi mà bạn sẽ tìm thấy các câu lệnh được nhóm lại với nhau theo khối, là trong các hàm JavaScript

Ví dụ

function myFunction[] {
  tài liệu. getElementById["demo1"]. InternalHTML = "Xin chào Dolly. ";
  tài liệu. getElementById["demo2"]. innerHTML = "Bạn có khỏe không?";
}

Tự mình thử »

Trong hướng dẫn này, chúng tôi sử dụng 2 khoảng cách thụt đầu dòng cho các khối mã.
Bạn sẽ tìm hiểu thêm về các chức năng sau trong hướng dẫn này.

Từ khóa JavaScript

Các câu lệnh JavaScript thường bắt đầu bằng một từ khóa để xác định hành động JavaScript sẽ được thực hiện

Tài liệu tham khảo từ dành riêng của chúng tôi liệt kê tất cả các từ khóa JavaScript

Dưới đây là danh sách một số từ khóa bạn sẽ tìm hiểu trong hướng dẫn này

Từ khóaMô tảvarKhai báo một biếnletKhai báo một biến khốiconstKhai báo một hằng khốiifĐánh dấu một khối câu lệnh sẽ được thực thi trên một điều kiệnwitchĐánh dấu một khối câu lệnh sẽ được thực thi trong các trường hợp khác nhauforĐánh dấu một khối câu lệnh sẽ được thực thi trong một vòng lặpfunctionKhai báo một hàmreturnThoát một hàmtryThực hiện xử lý lỗi cho một khối câu lệnh

Từ khóa JavaScript là từ dành riêng. Các từ dành riêng không thể được sử dụng làm tên cho các biến

Tác giả của câu chuyện này là Josiah Savary, và nó được xuất bản lần đầu trên blog của anh ấy. Josiah là một kỹ sư tại Parsec, chủ yếu tập trung vào ứng dụng giao diện người dùng JavaScript, nhưng hầu hết ứng dụng cốt lõi tại Parsec được viết bằng C, vì vậy gần đây anh ấy đã dành thời gian khám phá ngôn ngữ này cho một dự án hackathon

Có nhiều ngôn ngữ mới với các mục tiêu xây dựng gốc. Swift, Rust, ReasonML, v.v. Nhưng chúng ta hãy xem một lựa chọn thường bị bỏ qua. C

Thật vậy, có rất nhiều điều để tìm hiểu khi nói đến C. Nhưng hóa ra, nếu bạn biết JavaScript, C có một cú pháp rất dễ tiếp cận. Nó thực sự nhanh và có thể khai thác hầu hết các chức năng có sẵn trên bất kỳ hệ điều hành cụ thể nào. Ngoài ra, nó có thể chạy khá nhiều ở mọi nơi. Trên thực tế, thật dễ dàng để tạo các liên kết cho phép chúng tôi thực thi các hàm C từ Node. js hoặc, nhờ WebAssugging, thậm chí trực tiếp từ trình duyệt web

Hy vọng rằng, nếu bạn giống tôi, việc đạt được một ít C dưới thắt lưng sẽ không chỉ là một sự bổ sung tuyệt vời cho bộ kỹ năng của bạn — nó còn giống như một chiến thắng cá nhân. Hãy bắt đầu bằng cách học cách biên dịch và chạy 3 biến thể của phiên bản cổ điển “Xin chào, Thế giới. ” 🎉

Tôi GCC Bạn đã làm gì ở đó

Để biên dịch mã C, chúng ta sẽ cần một trình biên dịch. May mắn thay, C là một trong những ngôn ngữ được Bộ sưu tập trình biên dịch GNU [GCC] hỗ trợ và rất có thể nó đã có sẵn trên hệ thống của bạn. Nếu vậy, chúng ta có thể sử dụng nó trên dòng lệnh thông qua

gcc hello.c -o hello
2

Ghi chú. Nếu bạn đang dùng Windows, có thể bạn không có gcc trong Command Prompt 😭. Bạn sẽ cần một cái gì đó như MinGW để theo dõi phần còn lại của bài đăng này

Làm việc với một Tệp

Hãy tạo một tệp

gcc hello.c -o hello
3 và thêm đoạn mã sau vào đó

https. //ý chính. github. com/jozanza/63dd5f9d6a218638b89f045adfa597dc. js

Cách đơn giản nhất tuyệt đối để biên dịch nó là bằng lệnh sau

gcc hello.c

Theo mặc định,

gcc hello.c -o hello
2 sẽ tạo ra một tệp thực thi có tên là
gcc hello.c -o hello
5¯_[ツ]_/¯. Chúng ta có thể chạy tệp như vậy.
gcc hello.c -o hello
6. Có lẽ đó chỉ là tôi, nhưng tôi thường muốn đặt tên chương trình của mình theo một cái gì đó khác, vì vậy tôi thường làm như thế này

gcc hello.c -o hello

________

Mát mẻ. Cờ

gcc hello.c -o hello
7 cho phép chúng tôi đặt tên cho tệp thực thi của mình. Tương tự, chúng ta có thể chạy nó với 
gcc hello.c -o hello
0. Nhưng nếu chúng ta có nhiều tệp nguồn thì sao?

Làm việc với nhiều tệp

Bây giờ, chúng tôi có

gcc hello.c -o hello
3 giống như trước đây, nhưng chúng tôi đã thêm
gcc hello.c -o hello
2 và
gcc hello.c -o hello
3. Các tệp kết thúc bằng 
gcc hello.c -o hello
4 được gọi là "tiêu đề". Công việc của họ là khai báo các định nghĩa loại công khai mà tệp
gcc hello.c -o hello
5 tương ứng của họ sẽ triển khai. Kiểm tra những điều sau đây

https. //ý chính. github. com/jozanza/f9d930f3746ebef8b419561147f34e4f

Hơi phức tạp đối với một chương trình “xin chào thế giới”, nhưng tôi chỉ đang cố gắng hiểu rõ vấn đề thôi 😛

Trước tiên, chúng ta phải đảm bảo thêm các câu lệnh

gcc hello.c -o hello
6 cần thiết. Sau đó, để biên dịch, chúng tôi chỉ cần liệt kê tất cả 
gcc hello.c -o hello
5 tệp nguồn đang được sử dụng

gcc greet.c hello.c -o hello

Không tệ 😎

Sử dụng thư viện

Trong lập trình ứng dụng thường xảy ra trường hợp chúng ta không muốn tự mình viết từng đoạn mã. Ví dụ, giả sử chúng ta muốn tạo một trò chơi. Viết tất cả mã quản lý cửa sổ đa nền tảng, bỏ phiếu đầu vào và kết xuất đồ họa từ đầu sẽ khiến chúng ta mất khá nhiều thời gian. Vì vậy, để làm cho cuộc sống của chúng tôi dễ dàng, chúng tôi quyết định sử dụng Raylib

Chúng tôi có thể cài đặt nó vào vị trí tiêu chuẩn thông qua dòng lệnh [ví dụ: ____18 trên macOS]. Sau đó, chúng tôi viết một vài dòng mã để mở một cửa sổ với lời chào kinh điển của chúng tôi

https. //ý chính. github. com/jozanza/34708939893947cc672e9cd0b4e9bc10

Thư viện mà chúng tôi phụ thuộc vào không tồn tại dưới dạng một tệp trong thư mục dự án của chúng tôi, vì vậy chỉ cần thêm

gcc hello.c -o hello
9 sẽ không hoạt động. Về mặt kỹ thuật, đó là một ____14 tệp tiêu đề và một tệp lưu trữ nằm ở đâu đó trên hệ thống của chúng tôi¹

Dù sao đi nữa, điều này chỉ có nghĩa là đã đến lúc sử dụng

gcc greet.c hello.c -o hello
1

gcc hello.c -o hello
4

Quá dễ dàng. Về cơ bản,

gcc hello.c -o hello
2 sử dụng một trình liên kết có tên là
gcc greet.c hello.c -o hello
3 để bao gồm các thư viện. Cờ
gcc greet.c hello.c -o hello
1 cho phép trình liên kết biết những gì cần tìm kiếm và bao gồm. Nếu chúng tôi có nhiều thư viện, chúng tôi sẽ liệt kê chúng ra như
gcc greet.c hello.c -o hello
5. Dù sao đi nữa, chúng ta có thể chạy nó với 
gcc hello.c -o hello
0, giống như trong các ví dụ trước, để mở một cửa sổ ứng dụng với lời chào quen thuộc 👋

Cái gì tiếp theo?

Có nhiều cờ trình biên dịch hữu ích và thú vị khác để tìm hiểu về, nhưng bây giờ chúng ta sẽ bỏ qua những cờ đó². Và thật thú vị khi có thể hoặc không thể sử dụng gcc trực tiếp, chúng ta nên tìm ra cách tự động hóa quy trình xây dựng

Trong phần tiếp theo, chúng ta sẽ giải quyết vấn đề này bằng cách tìm hiểu về người bạn tốt của chúng ta, Makefile 💪

¹ Trong C, thư viện có hai thành phần. một tiêu đề và một tập tin lưu trữ. Lưu trữ có các hương vị tĩnh và động. ____97 / 

gcc greet.c hello.c -o hello
8 trên Linux, ____99 / 
gcc hello.c -o hello
40 trên MacOS, 
gcc hello.c -o hello
41 / 
gcc hello.c -o hello
42 trên Windows , tương ứng. Theo mặc định,
gcc hello.c -o hello
43 có thể sẽ tìm kiếm các tiêu đề thư viện trong
gcc hello.c -o hello
44 và
gcc hello.c -o hello
45 và các tài liệu lưu trữ trong
gcc hello.c -o hello
46. Tuy nhiên, điều này có thể khác nhau tùy thuộc vào thiết lập của bạn. Nếu chúng tôi tình cờ đặt một tiêu đề thư viện hoặc kho lưu trữ ở đâu đó mà trình liên kết thường không tìm kiếm, trình biên dịch sẽ thất bại trừ khi chúng tôi nói rõ ràng cho nó biết nơi cần tìm. Vì vậy, ngoài
gcc hello.c -o hello
47, chúng tôi cũng cần sử dụng các cờ
gcc hello.c -o hello
48 và
gcc hello.c -o hello
49.
gcc hello.c -o hello
20 và
gcc hello.c -o hello
21

² Chỉ cần chạy

gcc hello.c -o hello
22 nếu bạn tò mò. Để biết thêm giải thích sâu hơn, hãy xem tài liệu về Tùy chọn tổng thể, Tùy chọn phương ngữ C và Tùy chọn liên kết. Hoặc để có cái nhìn tổng quan đơn giản, bạn có thể duyệt nhanh Tùy chọn Tóm tắt. Xin lưu ý rằng nhiều cờ trong số này có thể hơi khó mò mẫm cho đến khi bạn thực sự cần sử dụng chúng

JavaScript có biên dịch thành C không?

Không, Nó không biên dịch JavaScript thành C hoặc C++ . Nút. JS sử dụng V8 là Máy ảo có trình thông dịch. Nó sẽ diễn giải mã nguồn của bạn thành mã máy và thực thi nó.

JS có nhanh như C không?

JavaScript dường như nhanh hơn gần 4 lần so với C++. Tôi để cả hai ngôn ngữ thực hiện cùng một công việc trên máy tính xách tay i5-430M của mình, thực hiện a = a + b trong 100000000 lần. C++ mất khoảng 410 ms, trong khi JavaScript chỉ mất khoảng 120 ms.

Bạn có thể chạy mã C bằng JavaScript không?

js có thể tải động tệp DLL C hoặc C++ bên ngoài trong thời gian chạy và sử dụng API của nó để thực hiện một số thao tác được viết bên trong tệp từ chương trình JavaScript . Về cơ bản, đây là cách Addon gốc hoạt động trong Node.

Ngôn ngữ JavaScript và C có giống nhau không?

C được biên dịch trước. JavaScript được thông dịch và đôi khi được biên dịch trong thời gian chạy bằng trình biên dịch just-in-time [JIT]. C được gõ tĩnh. JavaScript được nhập động .

Chủ Đề