Kể từ khi được phát hành vào ngày 4 tháng 12 năm 1995 [sáu tháng sau Java, được phát hành vào ngày 23 tháng 5 năm 1995], JavaScript đã trải qua nhiều thay đổi. JavaScript bắt đầu là ngôn ngữ lập trình phía máy khách [chạy bên trong trình duyệt web thông qua công cụ JavaScript tích hợp] để thêm nội dung tương tác vào trang web. Nó trở nên mạnh mẽ hơn với DHTML [1997] và Ajax [1999]. với nút. js [phát hành vào ngày 27 tháng 5 năm 2009], JavaScript có thể được sử dụng để lập trình phía máy chủ và xây dựng các ứng dụng web đầy đủ, cũng như các tập lệnh tiện ích độc lập. Vào năm 2015, ECMAScript 6 [ES6 hoặc ES2015] giới thiệu bản cập nhật lớn cho ngôn ngữ, chẳng hạn như các lớp và mô-đun, đồng thời biến JavaScript thành ngôn ngữ lập trình đa năng có khả năng thực hiện các tác vụ phần mềm phức tạp
Giới thiệu
Nó bắt đầu dưới dạng Ngôn ngữ lập trình phía máy khách chạy bên trong trình duyệt web thông qua Công cụ JavaScript tích hợpJavaScript là ngôn ngữ lập trình phía máy khách được sử dụng rộng rãi nhất cho phép bạn nâng cấp HTML của mình bằng tính tương tác, hoạt ảnh và hiệu ứng hình ảnh động để có Giao diện người dùng và Trải nghiệm người dùng [UI/UX] tốt hơn. Nó là
- một ngôn ngữ kịch bản nhỏ, nhẹ, hướng đối tượng, đa nền tảng, có mục đích đặc biệt được chạy trong môi trường máy chủ [thường là trình duyệt web]
- ngôn ngữ kịch bản phía máy khách để làm phong phú thêm giao diện người dùng web và tạo các trang web động [e. g. , vì. xác thực đầu vào và phản hồi ngay lập tức cho hành động của người dùng]
- công cụ hỗ trợ AJAX [JavaScript và XML không đồng bộ - có thể được sử dụng để cập nhật một phần của trang web một cách không đồng bộ], tạo ra sự quan tâm mới đối với JavaScript
JavaScript hoạt động cùng với HTML/CSS. HTML cung cấp nội dung; . Cùng nhau, chúng làm phong phú UI/UX của người dùng web
JavaScript hiện có ở mọi nơi với Node. jsJavaScript đã phát triển vượt ra ngoài lập trình phía máy khách. Với sự ra đời của Node. js vào năm 2009 [môi trường thời gian chạy JavaScript đa nền tảng, mã nguồn mở], bạn có thể chạy JavaScript độc lập hoặc bên trong máy chủ [thay vì trình duyệt]. Điều này cho phép bạn sử dụng một ngôn ngữ duy nhất cho cả lập trình phía máy chủ và phía máy khách
Lịch sử và Phiên bảnJavaScript, ban đầu được gọi là LiveScript, được tạo bởi Brendan Eich tại Netscape vào năm 1995. Ngay sau đó, Microsoft đã tung ra phiên bản JavaScript của riêng mình có tên là JScript. Sau đó, Netscape gửi nó lên ECMA [trước đây là "Hiệp hội các nhà sản xuất máy tính châu Âu", nay là "Ecma International - hiệp hội tiêu chuẩn hóa hệ thống thông tin và truyền thông châu Âu"] để chuẩn hóa, cùng với JScript của Microsoft.
Đặc tả ECMA được gọi là "Đặc tả ngôn ngữ ECMA-262 ECMAScript" @ http. //www. ecma-quốc tế. org/ấn phẩm/tiêu chuẩn/Ecma-262. htm [cũng được phê duyệt là "ISO/IEC 16262"]
- ECMA-262 phiên bản 1 [tháng 6 năm 1997]. Ấn bản đầu tiên
- ECMA-262 phiên bản 2 [tháng 8 năm 1998]
- ECMA-262 phiên bản 3 [12/1999]. Đã thêm biểu thức chính quy, thử/bắt, chuyển đổi, do-while, v.v.
- ECMA-262 phiên bản 4 - Bị bỏ rơi do sự khác biệt về chính trị. Vào năm 2007, TC-39 [ủy ban chịu trách nhiệm về ECMAScript] đã đưa ra một đặc điểm kỹ thuật dự thảo cho ECMAScript 4, có quy mô lớn và giới thiệu nhiều cú pháp và tính năng mới. Nhưng một nhóm các nhà phát triển từ Yahoo, Google và Microsoft cảm thấy như vậy là quá nhiều và đã tạo ra một đề xuất thay thế có tên là ECMAScript 3. 1. ECMAScript 4 chưa bao giờ được hoàn thiện
- ECMA-262 phiên bản 5 và 5. 1 [tháng 6 năm 2011]. ECMAScript 3. 1 cuối cùng đã được chuẩn hóa thành ECMAScript 5. Đã thêm "chế độ nghiêm ngặt", phương thức lặp JSON, Array, v.v.
- ECMA-262 2015. phổ biến nhất được gọi là ECMAScript 6 hoặc ES6
Phiên bản này đã thêm cú pháp mới quan trọng để viết ứng dụng phức tạp, bao gồm khai báo lớp,if [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
7 cho khai báo cục bộ,if [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
8 cho khai báo hằng cục bộ, giá trị tham số mặc định, bộ lặp và cho. vòng lặp, trình tạo kiểu Python, biểu thức hàm mũi tên [_______0_______9], dữ liệu nhị phân, mảng đã nhập, bộ sưu tập mới [bản đồ, tập hợp và Bản đồ yếu], lời hứa, sự phản chiếu, proxy, chữ mẫu cho chuỗi, v.v. - ECMAScript 2016 [ES7]. Kể từ ES6, các tiêu chuẩn ECMAScript sẽ có chu kỳ phát hành hàng năm vào tháng 6
Phiên bản này đã thêm toán tử hàm mũ [
0], phạm vi khối của các biến và hàm, từ khóaJavaScript Example: Loop
Testing Loop
1 vàJavaScript Example: Loop
Testing Loop
2 cho lập trình không đồng bộ, v.v.JavaScript Example: Loop
Testing Loop
- ECMAScript 2017 [ES8]. Đã thêm phần đệm chuỗi, các hàm không đồng bộ sử dụng trình tạo và lời hứa,
3,JavaScript Example: Loop
Testing Loop
4 để thao tác đối tượng dễ dàng, v.v.JavaScript Example: Loop
Testing Loop
- ECMAScript 2018 [ES9]. Đã thêm tham số phần còn lại [
5], toán tử trải rộng, phép lặp không đồng bộ, bổ sung cho biểu thức chính quyJavaScript Example: Loop
Testing Loop
- ECMAScript 2019 [ES10]. Đã thêm
6,JavaScript Example: Loop
Testing Loop
7, thay đổiJavaScript Example: Loop
Testing Loop
8 vàJavaScript Example: Loop
Testing Loop
9, ràng buộc bắt trở thành tùy chọn, v.v.JavaScript Example: Loop
Testing Loop
- ECMAScript 2020 [ES11]. giới thiệu một kiểu nguyên thủy
for [ initialization ; test ; post-processing ] { body ; }
0 cho các số nguyên có kích thước tùy ý, toán tử kết hợp nullish [for [ initialization ; test ; post-processing ] { body ; }
1] và đối tượngfor [ initialization ; test ; post-processing ] { body ; }
2 - ECMAScript 2021 [ES12]. Đã thêm tính năng nâng cao cho chuỗi [
for [ initialization ; test ; post-processing ] { body ; }
3], lời hứa [for [ initialization ; test ; post-processing ] { body ; }
4] và tham chiếu đối tượng. Toán tử gán logic [for [ initialization ; test ; post-processing ] { body ; }
5,for [ initialization ; test ; post-processing ] { body ; }
6,for [ initialization ; test ; post-processing ] { body ; }
7,]
Java là một ngôn ngữ lập trình đa năng chính thức. Nó được tạo ra bởi James Gosling tại Sun Microsystems [nay là một phần của Oracle] và phát hành vào tháng 8 năm 1995
JavaScript được tạo bởi Brendan Eich tại Netscape, cũng vào năm 1995. Ban đầu được gọi là LiveScript, nó là một ngôn ngữ chuyên dụng nhỏ và nhẹ để viết chương trình phía máy khách chạy bên trong trình duyệt để tạo giao diện người dùng hoạt động và tạo các trang web động. Nó được đổi tên thành JavaScript trong một quyết định tiếp thị tồi tệ nhằm cố gắng tận dụng sự phổ biến của ngôn ngữ Java, khi Netscape phát hành Navigator 2 vào năm 1996
Java và JavaScript là các ngôn ngữ hoàn toàn khác nhau cho các mục đích lập trình khác nhau. Tuy nhiên, trong những ngày đầu, một số nỗ lực đã được thực hiện để áp dụng cú pháp và quy ước của Java vào JavaScript, vì vậy JavaScript dường như là một tập hợp con của Java. Trên thực tế, chúng có rất ít điểm chung
JavaScript phía máy khách KHÔNG THỂ làm gì?Hãy nhớ rằng JavaScript là chương trình phía máy khách mà bạn đã tải xuống từ máy chủ và chạy bên trong trình duyệt của máy [máy khách] của bạn. Làm gì để ngăn ai đó viết JavaScript xóa sạch đĩa cứng của bạn hoặc kích hoạt một cuộc tấn công từ chối dịch vụ tới một máy chủ khác?
- Nó không thể đọc tệp từ máy của khách hàng
- Nó chỉ có thể kết nối với máy chủ mà nó đến từ đó. Nó có thể đọc tệp từ máy chủ mà nó đến từ. Nó không thể ghi tập tin vào máy chủ
- Nó không thể kết nối với máy chủ khác
- Nó không thể đóng một cửa sổ mà nó không mở
jQuery là một thư viện JavaScript đa trình duyệt phổ biến. jQuery là JavaScript [nhưng có cú pháp mở rộng riêng], do đó, bạn cần hiểu JavaScript. Tôi khuyên bạn nên đọc qua cú pháp JavaScript [và đặc biệt chú ý đến các đối tượng], sau đó chuyển sang jQuery để sản xuất. Đọc "Thông tin cơ bản về jQuery"
JavaScript độc lập và phía máy chủ với nút. Công cụ JavaScript js[LÀM]
Trình chỉnh sửa mã nguồn JavaScript và IDEBạn cần một trình soạn thảo văn bản để viết JavaScript của mình. Bạn có thể sử dụng trình soạn thảo văn bản thuần túy như NotePad của Windows hoặc TextEdit của macOS [KHÔNG được khuyến nghị nghiêm ngặt vì chúng không thể tô sáng cú pháp]. Để cải thiện năng suất của bạn, một trình chỉnh sửa mã nguồn tốt [cung cấp tính năng đánh dấu cú pháp, tự động hoàn tất mã, đoạn mã, tài liệu, điều hướng biểu tượng, tái cấu trúc, v.v. ] là điều cần thiết. Có rất nhiều phần mềm miễn phí/phần mềm chia sẻ, chẳng hạn như Visual Studio Code [VS Code], Sublime Text, Atom, Brackets, Komodo Edit, Emacs, Vim, BBEdit, TextMate, NotePad++ [Windows], v.v. Bạn cũng có thể sử dụng IDE quy mô đầy đủ như Eclipse, NetBeans, IntelliJ IDEA. Ngoài ra còn có nhiều trình soạn thảo và trình biên dịch "trực tuyến" [e. g. , Programiz, JSFiddle, Playcode], nhưng tôi nghĩ rằng bạn nên cài đặt của riêng mình
Ví dụ JavaScript phía máy khách
Tôi sẽ cho rằng bạn biết HTML và CSS [hãy đọc các bài viết về HTML/CSS của tôi nếu không]. Tôi cũng sẽ giả định rằng bạn hiểu một số điều cơ bản về lập trình [tư duy tính toán] chẳng hạn như biến, cấu trúc if-else và vòng lặp for
JavaScript phía máy khách chạy bên trong trình duyệt thông qua công cụ JavaScript tích hợp. Có các tiêu chuẩn về JavaScript. Nhưng Big-5 [Chrome, Firefox, IE/Edge, Safari và Opera], đặc biệt là IE, không tuân thủ nghiêm ngặt tất cả các tiêu chuẩn. Hơn nữa, họ tạo tiện ích mở rộng của riêng mình. Do đó, hành vi của JavaScript có thể khác nhau trong các trình duyệt khác nhau. Bạn có thể cần kiểm tra JavaScript của mình trên nhiều trình duyệt
JavaScript cũng chạy độc lập [và trong máy chủ]. Để chạy JavaScript độc lập, bạn cần cài đặt Node. js, một công cụ JavaScript. Tôi sẽ trình bày các ví dụ trong phần tiếp theo
JS phía máy khách EG 1. Hàm for [ initialization ; test ; post-processing ] {
body ;
}
8 và for [ initialization ; test ; post-processing ] {
body ;
}
9
Hãy để chúng tôi viết JavaScript phía máy khách đầu tiên của chúng tôi để in thông báo "Xin chào, thế giới"
Bắt đầu với một tệp mới và nhập các mã sau. Không nhập số dòng, được sử dụng để hỗ trợ giải thích. lưu ý rằng
- JavaScript phân biệt chữ hoa chữ thường. Một
0 KHÔNG phải là mộtJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
1 và KHÔNG phải là mộtJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
2JavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
- Khoảng trắng "thêm" [khoảng trống, tab và dòng mới] bị bỏ qua. Nghĩa là, nhiều khoảng trắng được coi là một ký tự trống. Bạn có thể sử dụng chúng một cách tự do để làm cho chương trình của bạn dễ đọc hơn
Lưu tệp dưới dạng "
JavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
3" [hoặc bất kỳ tên tệp nào bạn thích, với phần mở rộng tệp là "
JavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
4" hoặc "
JavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
5"]. Chạy tập lệnh bằng cách tải tệp HTML vào trình duyệt hỗ trợ JavaScript [e. g. , Một trong BIG FIVE - Chrome, Firefox, Internet Explorer/Edge, Safari hoặc Opera]
JavaScript Example: Functions alert[] and document.write[]
My first JavaScript says:
Làm thế nào nó hoạt động?- JavaScript là mã lập trình được nhúng bên trong tài liệu HTML. Các mã được chứa giữa một cặp thẻ
6, như sau. GHI CHÚ. Trong HTML4/XHTML, bạn cần thêm thuộc tínhJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
7 vào phần tửJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
6. Dòng 7-9 và Dòng 13-17 là hai đoạn mã JavaScript, được đặt lần lượt trong phầnJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
9 vàJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
0JavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
- Các câu lệnh JavaScript được kết thúc bằng dấu chấm phẩy
1 [như Java/C/C++/C#]JavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
- Hàm
2 [Dòng 8] bật ra một hộp thoại hiển thịJavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
3 và một nút OK. Các chuỗi được đặt trong cặp dấu nháy kép hoặc nháy đơn, e. g. ,JavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
4 hoặcJavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
5JavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
- Trang web hiện tại được đại diện bởi cái gọi là đối tượng
6 trong JavaScript. Thuộc tínhJavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
7 [Dòng 16] lưu trữ ngày sửa đổi cuối cùng của tài liệu hiện tại. HàmJavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
8 [Dòng 14 đến 16] có thể được sử dụng để ghiJavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
3 đã chỉ định vào tài liệu hiện tại, như một phần của tài liệu HTML hiện tạiJavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
- Toán tử
My First JavaScript says
00 [Dòng 16] có thể được sử dụng để nối hai chuỗi [như Java]Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Theo kết quả của
for [ initialization ; test ; post-processing ] { body ; }
9, phần
0 của tài liệu này chứa.JavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
My First JavaScript says
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
2 vàJavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
8 là một số hàm tích hợp thường được sử dụng được cung cấp trong JavaScriptJavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
THỬ. In tiêu đề của tài liệu và vị trí URL. [Gợi ý. sử dụng thuộc tính
My First JavaScript says05 vàHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says06. ]Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Không bị bộ nhớ cache bắt - Thực hiện Control-Refresh [hoặc Control-F5]
Nếu bạn sửa đổi mã và tải lại trang web, mã mới có thể không được thực thi vì trình duyệt lưu phiên bản đã tải trước đó vào bộ đệm. Bạn có thể sử dụng Control-F5 [Control-Refresh] để yêu cầu trình duyệt loại bỏ bộ đệm và tìm nạp một trang mới
Không sử dụng
for [ initialization ; test ; post-processing ] { body ; }8
Bởi vì không ai thích nó
"Việc sử dụng cảnh báo thường không được khuyến khích để ủng hộ các phương pháp khác không chặn người dùng tương tác với trang - nhằm tạo trải nghiệm người dùng tốt hơn. Tuy nhiên, nó có thể hữu ích để gỡ lỗi. "
for [ initialization ; test ; post-processing ] { body ; }8 về mặt kỹ thuật là tài sản của đối tượng
My First JavaScript says09 và sẽ được gọi làHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says10. Nhưng vìHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says09 là một đối tượng toàn cục nên tất cả các biến của nó đều là biến toàn cục và có thể được tham chiếu mà không cần tên đối tượngHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Công cụ gỡ lỗi và công cụ phát triển web F12 của trình duyệt
Trước khi chúng tôi chuyển sang ví dụ tiếp theo, bạn nên dùng thử Công cụ phát triển web, có sẵn trong hầu hết các trình duyệt để gỡ lỗi HTML/CSS/JavaScript/ứng dụng web
- Khởi chạy trình duyệt của bạn và nhấn F12 để kích hoạt Công cụ phát triển web [Tôi đã thử trên Firefox, Chrome, Edge]
- Chọn ngăn "Bảng điều khiển". Bạn có thể nhập các câu lệnh JavaScript trong bảng điều khiển. Ví dụ: nhập từng câu lệnh JavaScript sau và quan sát kết quả.
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
ghi chú.
My First JavaScript says12 ghi thông điệp vào bảng điều khiển, thường được sử dụng để gỡ lỗi [nhưHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says13 trong Java hoặcHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says14 trong C]Các thông báo lỗi ở đâu?Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Nếu bạn mắc bất kỳ lỗi cú pháp nào trong ví dụ trước, bạn sẽ không thấy bất kỳ thông báo lỗi nào xuất hiện trên trình duyệt mà chỉ đơn giản là tập lệnh không chạy. Không thể gỡ lỗi chương trình mà không có thông báo lỗi. Rất may, bạn thực sự có thể tìm thấy các thông báo lỗi trong bảng điều khiển. Thực hiện một số lỗi và làm mới trình duyệt
JS phía máy khách EG 2. Biến và Hàm My First JavaScript says
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
15, My First JavaScript says
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
16
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Tập lệnh này nhắc người dùng nhập tên của họ, xác nhận tên và in thông báo chào mừng
Có ba loại hộp thoại bật lên để tương tác với người dùng
- Hàm
2 đặtJavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
3 trên hộp bật lên có nút OK. Người dùng cần nhấp vào nút OK để tiếp tụcJavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
- Hàm
My First JavaScript says
19 hiển thị hộp bật lên đầu vào vớiHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
20 với các nút OK và Hủy. Nó trả về đầu vào do người dùng nhập dưới dạng một chuỗi; . Tham số tùy chọnHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
22 chỉ định chuỗi ban đầu sẽ được hiển thị. Trong bài viết này mình sẽ chỉ ra các tham số chức năng tùy chọn có đuôiHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
23 cho gọnHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Hàm
My First JavaScript says
24 đặtHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
25 trên hộp bật lên có các nút OK và Hủy. Nó trả vềHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
26 nếu người dùng nhấn nút OK;Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
Làm thế nào nó hoạt động?- Dòng 8 khai báo một biến toàn cục có tên là
My First JavaScript says
28, thông qua từ khóaHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
29. Một biến là một vị trí lưu trữ được đặt tên chứa một giá trị. Sau khi khai báo biến, bạn có thể gán [và gán lại] giá trị cho biến đó, thông qua toán tử gánHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
30 [Dòng 9]Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Dòng 9 gọi hàm
My First JavaScript says
19 để bật ra một hộp thoại và đọc chuỗi do người dùng nhập vào. Chuỗi đọc được gán cho biếnHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
28. HàmHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
15 tương tự như hàmHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
for [ initialization ; test ; post-processing ] { body ; }
8, nhưng nó chấp nhận đầu vào của người dùng - Ở Dòng 10, hàm
My First JavaScript says
24 hiển thị thông báo và trả vềHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
26 hoặcHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
27, tùy thuộc vào việc người dùng nhấn nút OK hay CancelHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Nếu kết quả là
My First JavaScript says
26, Dòng 11 in raHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
39. Nếu không, Dòng 13 in ra _______44_______40Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
THỬ. Thay vì in tin nhắn chúc mừng bằng cách sử dụng
for [ initialization ; test ; post-processing ] { body ; }9, hãy thực hiện điều đó thông qua một
for [ initialization ; test ; post-processing ] { body ; }8
JS phía máy khách EG 3. Đối tượng My First JavaScript says
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
43
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Tập lệnh sau tạo một đối tượng
My First JavaScript says43 biểu thị ngày giờ hiện tại và in thời gian hiện tạiHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
JavaScript Example: The Date object
Làm thế nào nó hoạt động?- Dòng 8 khai báo một biến có tên là
My First JavaScript says
45. Nó cũng tạo một đối tượngHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
43 [thông qua toán tửHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
47], chứa dấu ngày-giờ hiện tại và gán nó choHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
45Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- "______44_______49" bắt đầu chú thích cuối dòng [Dòng 8 và 9]. Nhận xét bị công cụ JavaScript bỏ qua nhưng quan trọng trong việc giải thích mã của bạn cho người khác [và cho chính bạn ba ngày sau]
- Dòng 9 khai báo một biến có tên là
My First JavaScript says
50. Nó cũng gọi hàmHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
51 trên đối tượngHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
45, ở dạngHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
53, để truy xuất phần giờ của đối tượngHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
45 và gán nó cho biếnHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
50. Dòng 9 và 10, tương tự, xử lý phút và giâyHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Dòng 12 đến 14 sử dụng
My First JavaScript says
56 để ghi vào tài liệu hiện tại.Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
57 [write-line] viết một dòng mới [Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
58] sau chuỗi đã cho. Hãy lưu ý rằng trình duyệt bỏ qua khoảng trắng thừa [dòng mới, khoảng trống, tab] trong tài liệu HTML;Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Dòng 16-20 chứa câu lệnh if-then-else có điều kiện. Tùy thuộc vào giá trị của
My First JavaScript says
50, một trong các thông báo sẽ được hiển thịHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Modify the above script to print the current date, month, year and day of the week. [Gợi ý. Sử dụng các hàm
My First JavaScript says
62,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
63,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
64 vàHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
65 của đối tượngHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
43.Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
62 returns 1-31.Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
63 returns 0 to 11 for January to December.Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
64 returns a 4-digit year.Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
65 returns 0 to 6 for Sunday to Saturday]Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Use a conditional statement to print the day of the week in word [i. e. , 0 for Sunday, 1 for Monday and etc. ]. [Hints. Use the
My First JavaScript says
71 construct as follow. ]Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
if [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
Client-Side JS EG 4. Loops
The following script prompts the user for a multiplier, and prints the multiples of 1 to 100 using a for-loop
JavaScript Example: Loop
Testing Loop
Làm thế nào nó hoạt động?- Line 11 prompts the user for a number, and assigns it to the variable
My First JavaScript says
72Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Lines 12-14 contain a for-loop. A for-loop takes the following syntax.
for [ initialization ; test ; post-processing ] { body ; }
There are four parts in a for-loop. Three of them, initialization, test and post-processing, are enclosed in brackets
My First JavaScript says
73 and separated by 2 semicolons. The body contains the repetitive task to be performed. The initialization statement is first executed. The test is then evaluated. If the test returns true, the body is executed; followed by the post-processing statement. The test is evaluated again and the process repeats until the test returns false. When the test is false, the for-loop completes and program execution continues to the next statement after the for-loop. The following flow chart illustrates the for-loop process.Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
In this example, the variable
My First JavaScript says
74 is initialized to 1. IfHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
74 is less than or equal to 100, the body of the loop executes, followed by the post-processing statement, which increment the value ofHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
74 by 1. The loop repeats until the value ofHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
74 is NOT less than or equal to 100 [i. e. , more than 100]Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Modify the above script to prompt the user for the multiplier as well as the number of multiples to be printed [in two
My First JavaScript says
15 statements]Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Modify the above script to print only multiples that are odd number. [Hint. The modulo operator "
My First JavaScript says
79" can be used to compute the remainder, e. g. ,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
80 computes the remainder ofHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
81 divides by 2, which results in either 0 or 1. ]Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Client-Side JS EG 5. User-defined Functions and My First JavaScript says
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
82 Event Handler
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Besides the JavaScript built-in functions such as
for [ initialization ; test ; post-processing ] { body ; }8,
My First JavaScript says15,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says85, andHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says57, you can define your own functions. A function has a name and a body consisting of a set of JavaScript statements that collectively performs a certain task. It may take zero or more argument[s] from the caller and return zero or one value back to the callerHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
JavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
Làm thế nào nó hoạt động?- Lines 8-10 define a function called
My First JavaScript says
87, via the keywordHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
88. The function invokes the built-in functionHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
89, which opens a new browser window [or tab] and loads the page "Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
90"Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Lines 15-16 create an HTML button. Clicking the button triggers the
My First JavaScript says
82 event handler, i. e. ,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
87 defined earlierHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
TRY. Include another button, which opens "
My First JavaScript says93"Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Client-Side JS EG 6. More Event Handlers. My First JavaScript says
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
94, My First JavaScript says
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
95 and My First JavaScript says
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
96
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
JavaScript can be used to handle many types of events, in response to a user's action or browser's action. For example,
My First JavaScript says
94. fires after browser loaded the pageHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
95 andHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
96. fires when the user points the mouse pointer at/away from the HTML elementHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
JavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
Dissecting the Program- Line 8 defines a variable
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
00, which holds the strings to be displayed in theMy First JavaScript says
94 event handlersHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- In the opening tag [Line 12], we define the
My First JavaScript says
94 event handler for theHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
03 event. It invokesfor [ initialization ; test ; post-processing ] { body ; }
8 with the message defined earlier - Dòng 13 và 14 xác định trình xử lý sự kiện
My First JavaScript says
95 vàHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
96 cho phần tử HTMLHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
The text's color will be changed to red when the user points the mouse pointer at the element [by setting the CSS style property
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
07 to red], and revert back to its original color when the mouse pointer is moved away [by resetting the CSS style propertyalert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
07 to an empty string]. The special keywordalert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
09 refer to this object
Client-Side JS EG 7. Separating HTML, CSS and JavaScript
The previous example works fine. You will find many such example in textbooks, especially the older textbooks. However, it has a big problem. All the HTML contents, CSS presentation styles and JavaScript programming codes are placed in a single file. For a small toy program, the problem is not serious. But when your program grows and if the HTML, CSS and JavaScript are written by different people, you will have a real challenge in maintaining the program. Remember that HTML is for the contents, CSS for presentation and JavaScript for the behavior
Let's rewrite the example to place the HTML, CSS and JavaScript in three different files
My First JavaScript says0Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says1Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says2Làm thế nào nó hoạt động?Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Placing the scripting codes inside the HTML page is not a good software engineering practice. Instead, the now-preferred approach is to place the scripts, as well as CSS styles, in external files, which can then uniformly applied to all pages in your website
- Let's begin with the HTML file. Now, the HTML file keeps only the contents, no presentation style and nor programming logic
The CSS style sheet is kept in an external file, referenced via the above
6 tagJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
Note. In HTML4/XHTML1. 0 you need to include attributealert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
11 in the
6 opening tagJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
Also, the JavaScript programming code is kept in an external file, referenced via the above
6 is needed, although there is no contentJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
Ghi chú. Trong HTML4/XHTML1. 0, bạn cần bao gồm thuộc tính
7 trongJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
6JavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
My First JavaScript says
3Làm thế nào nó hoạt động?Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Tài liệu HTML này chứa một phần tử với một
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
16 duy nhất, haiyếu tố, ba
phần tử với
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
17 và ba phần tử
6 với phần tử duy nhất làJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
19 - Trong hàm do người dùng xác định
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
20, chúng tôi sử dụngalert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
21 để chọn phần tử, sau đó sửa đổi thuộc tínhalert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
22 của nó - Trong hàm
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
23, chúng tôi sử dụngalert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
24 để chọn tất cảcác phần tử trong một mảng
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
25. We then use a for-loop to iterate through all the elements in the array. Thuộc tínhalert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
26 giữ độ dài của mảng - Trong hàm
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
27, chúng tôi sử dụngalert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
28 để chọn tất cảyếu tố. Chúng tôi sử dụng vòng lặp
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
29 của JavaScript để lặp qua tất cả các phần tử. Chúng tôi sử dụng biếnif [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
8 an toàn nhất, vì vòng lặpalert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
29 tạo một biến phạm vi khối mới cho mỗi lần lặp; - Trang chứa ba nút để kích hoạt các chức năng được xác định
- để thao tác các phần tử trong DOM bằng JavaScript, mã JavaScript phải được chạy sau khi phần tử liên quan đã được tạo trong tài liệu. Điều này có thể được thực hiện bằng cách đặt JavaScript ngay trước thẻ kết thúc
- Tập lệnh chứa một hàm
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
33, được chỉ định làm trình xử lýMy First JavaScript says
94 thông quaHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
35. Tức là,alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
33 sẽ được kích hoạt sau khi trang được tải. Thealert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
33 function assignsMy First JavaScript says
82 event handlers to the buttons, selected viaHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
39 using the unique buttons'alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
19 - Instead of
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
22 property, older versions of JavaScript usealert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
42 [which includes both texts and markups] to modify the content of the selected element. According to MDN. "alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
22 should be used instead. Because the text is not parsed as HTML, it's likely to have better performance. Moreover, this avoids an XSS [Cross-Site Scripting] attack vector. "
Client-Side JS EG 9. Intercepting a Hyperlink
This example uses a script to intercept a hyperlink to put up a warning message, then proceed to the link
My First JavaScript says
4Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
5Làm thế nào nó hoạt động?Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- The HTML page has an hyperlink
6with an uniqueJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
19 - The
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
33 function assigns anMy First JavaScript says
82 handler to the hyperlink, selected viaHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
39 - When the hyperlink is clicked, the
My First JavaScript says
82 handlerHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
50 triggered. IfMy First JavaScript says
16 returns true, the new page will be loaded; otherwise, the current page remainsHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
More Advanced JavaScript Examples
More "Advanced JavaScript Examples"
Debugging JavaScripts
A graphic debugger is a MUST in programming. Programming in JavaScript, in particular, requires a good debugger. It is because JavaScripts are interpreted and does not need to be compiled. Hence, there is no compiler to show you the syntax errors. A simple and trivial syntax error [e. g. , missing bracket, mis-spelling] will render the entire script not workable. Worst still, you would not see any error message when the script did not work. Can you debug without any error message or clue?
Without a graphic debugging, the only mean to debug JavaScript is to insert
for [ initialization ; test ; post-processing ] { body ; }
8 at strategic locations to print out selected dataAfter modifying a JavaScript, I recommend that you use Ctrl-F5 to refresh the page, which shall load a fresh copy instead of loading from the cache. You might need to clear the browser's cache or re-start the browser, if you modification does not take effect
F12 Web Developer ToolsIn Chrome and Firefox, you can press F12 to activate the developer Tools [hence called F12 Developer Tools]
It provides these features
- Console. View the JavaScript error messages. Start the firebug and switch to the "Console" panel
- Script. View and debug JavaScript. Start the firebug. Switch to the "Script" panel. "Enable" or "Reload" if necessary. You can set a breakpoint by clicking on the statement number, single step through the JavaScript statements, watch the expression, and etc
- DOM. View the HTML DOM of the current document
- HTML and CSS
To debug JavaScript
- Launch Firebug ⇒ Choose the "Script" panel to view your JavaScript, shown with green-bold line numbers
- Refresh [Ctrl-F5] the page, and check the error console [Under "Console" ⇒ "Errors"] for syntax errors. Correct all the syntax errors
- To trace the program, set breakpoints at selected JavaScript statements, by clicking on the right margin [to the left of line number]. A red circle shows up denoting a breakpoint. Take note that you can only set breakpoint on statements with a green-bold line number. [If your JavaScript statements do not have a green-bold line number, there are syntax errors on these statements. Bạn cần sửa lỗi cú pháp và tải lại trang. ]
- Trigger the script [via clicking button/link, or reloading the page]. The execution stops at the first breakpoint. You can then step-over the statement [or step-into function], and inspect the variables by positioning the mouse pointer on the variable; or add the variable to "watch"
- You can resume the execution [via the continue button]
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
53Instead of using
for [ initialization ; test ; post-processing ] { body ; }
8 andfor [ initialization ; test ; post-processing ] { body ; }
9 to show the intermediate results, you can also usealert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
56, which writes thealert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
57 and the value of thealert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
58 to the error console. It does not interfere the appearance you web page nor your normal operationsFor example, modify the JavaScript in Example 8 to print the values of innerHTML before modification. You need to turn on the console [press F12] to see the output
My First JavaScript says
6Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
JavaScript and HTML
As seen from the previous examples, JavaScripts are embedded inside an HTML document, and executed by the browser. There are two occasions on which browser executes JavaScript instructions
- JavaScripts enclosed in
6 runs during loading of the pageJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
- Some JavaScripts, called event handlers, run as a result of the user's or browser's action [or event]. For example, clicking a button [
My First JavaScript says
82] or loaded a page [Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
94]Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
There are, therefore, two places to put your JavaScript
- between
6 container tags; andJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
- inside the HTML tags as the event handlers [such as
My First JavaScript says
82,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
95,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
94], e. g. ,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
66
6 element contains the JavaScript programming statements. For example,JavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
In HTML4/XHTML1. 0, you need to include the attribute
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
68 in the
6 is needed although there is no content. ?JavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
In HTML4/XHTML1. 0, you need to include
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
68 in the
6 tags, and run it under a web browser, you will need to activate the debugger [Web Developer Tools] to see the outputs. See the above section on client-side examplesJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
Standalone JS Eg 2. [TODO]- Tài liệu HTML này chứa một phần tử với một
- HTML comments are enclosed inside
- CSS supports multi-line comment
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
75, but NOT end-of-line commentMy First JavaScript says
49Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- JavaScript supports both
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
75 andMy First JavaScript says
49, like Java/C/C++/C#Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- An identifier can contain letters [
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
92,alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
93], digits [alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
94], underscore [alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
95] and dollar sign [alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
96]. But it cannot begin with a digit [alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
94] - Identifiers are case-sensitive. A
0 is NOT aJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
2, and is NOT aJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
1JavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
- Identifiers cannot be keywords
- Take note that hyphen [
01] and space are NOT allowed. Hence,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
02,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
03, are NOT valid identifiers. You should use underscore [JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
95] instead of hyphen [
01]JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- string. a sequence of characters. Strings literals are enclosed in a pair of single quotes or double quotes [e. g. ,
08,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
13]JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- number. takes both integer [e. g. ,
06] or floating-point [e. g. ,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
15]JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- boolean. takes boolean literal of either
My First JavaScript says
26 orHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
27 [in lowercase]Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- undefined. takes a special literal value called
18. Take note thatJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
18 is both a type and a literal valueJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- symbol [ES6]. A data type whose instances are unique and immutable
- bigint [ES2020/ES11]. integers with arbitrary precision
- object. for general objects
- function. for function objects. Unlike Java, function is a first class object in JavaScript, e. g. , you can assign a function to a variable
- null. A special literal value for unallocated [unconstructed]
20. Take note thatJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
My First JavaScript says
21 is NOTHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
22. TheJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
23 isJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
20.JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
My First JavaScript says
21 is meant to represent an absence of a constructed object.Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
21 is actually considered to be a primitive as it has no properties and methodsHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
- Decimal. begins with a digit
47 toJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
48 [notJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
49], e. g. ,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
50 orJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
51,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- Octal. begins with a digit
49, e. g. ,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
53 orJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
54,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- Hexadecimal. begins with
55 [orJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
56], e. g. ,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
57 orJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
58JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- Binary. begins with
59 [orJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
60], e. g. ,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
61 orJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
62. [Binary may not be supported in some browsers. ]JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- infinity. e. g. ,
67JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- -infinity. e. g. ,
68JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- NaN [Not-a-Number]. e. g. ,
69, or converting the stringJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
70 to a numberJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- parseInt[str], parseFloat[str]. Parse the
3 until the first non-digit, and return the number; orJavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
91JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- Math. round[num], Math. floor[num], Math. ceil[num]
- Math. random[]. Generate a random number between 0 [inclusive] and 1 [exclusive]
- isNaN[str]. return true if the
3 is not a number. For example, It is interesting to note that JavaScript does not have counterpart functions likeJavaScript Example: Events onload, onmouseover and onmouseout
"Hello" alert Box appears after the page is loaded.
Point your mouse pointer here!!!
93,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
94JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- Number[str]. Return the number represented by
My First JavaScript says
25, orHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
91. Take that that this function name begins with uppercase, because this is a type casting operationJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- toFixed[decimalPlaces]. Return this number/string to the given number of decimal places. For example,
- length. E. g. ,
48 returns the length of the stringJavaScript Example: The Date object
- toUpperCase[]. returns the uppercase string
- toLowerCase[]. returns the lowercase string
- charAt[idx]. returns the character at the
49 position. Index begins from 0. Negative index can be used, which counts from the end of the stringJavaScript Example: The Date object
- substring[beginIdx, endIdx]. returns the substring from
50 [inclusive] toJavaScript Example: The Date object
51 [exclusive]JavaScript Example: The Date object
- substr[beginIdx, length]. returns the substring from
50 ofJavaScript Example: The Date object
53JavaScript Example: The Date object
- indexOf[searchStr, fromIdx?]. Return the beginning index of the first occurrence of
54, starting from an optionalJavaScript Example: The Date object
55 [default of 0]; orJavaScript Example: The Date object
56 if not foundJavaScript Example: The Date object
- lastIndexOf[searchStr, fromIdx?]. Return the beginning index of the last occurrence of
54JavaScript Example: The Date object
6, starting from an optionalJavaScript Example: User-defined function and title Event Handler
Example on event and user-defined function
55 [default ofJavaScript Example: The Date object
60]; orJavaScript Example: The Date object
56 if not foundJavaScript Example: The Date object
- slice[beginIdx, endIdx]. Return the substring from
62 [inclusive] toJavaScript Example: The Date object
63 [exclusive]JavaScript Example: The Date object
- repeat[count] [ES6]. repeat the string
- split[delimiter], array. join[delimiter]. returns an array by splitting the string using
64, e. g. ,JavaScript Example: The Date object
- Searching/Modifying Strings using Regular Expression. See ""
- charAt[idx]. For example,
- Array Bracket Operator []. You can treat a string as a character array, and access individual character via array bracket operator
65, e. g. ,JavaScript Example: The Date object
- number
49JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- number
91 [Not-a-Number],JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- empty string [
13,JavaScript Example: The Date object
88],JavaScript Example: The Date object
18 value,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
- boolean
My First JavaScript says
27,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
21 [unallocated] objectHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
[TODO] Check Limitations such as File IO, Networking etc. Compare with Shell Script and Python script for automation
Server-Side JavaScript by Examples
You can also use JavaScript to program a server-side webapp, just like Java Servlet/JSP, Microsoft ASP, PHP, Python, etc. The appeal is that you can use one single language to program both the client-side and the server-side in a webapp
See Node. js article
JavaScript Basic Syntax
Comments
Comments are ignored by the JavaScript runtime but greatly useful in explaining your codes to others [and also to yourself three days later]. You should use comments liberally to explain or document your codes
An end-of-line comment begins with
My First JavaScript says
49 and lasts till the end of the current line. A multi-line comment begins withHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
73 and lasts tillalert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
74Take note that
Whitespaces [blank, tab, newline]
Like C/C++/Java, JavaScript ignores additional whitespaces [blanks, tabs, and newlines]. I strongly recommend that you use additional whitespaces to format your program to make your code easier to read and understand
Expressions
An expression is a combination of variables, literals, operators, and sub-expressions that can be evaluated to produce a single value
Statements, Semicolon and Blocks
A statement is a single programming instruction. Unlike C/C++/Java, where you need to end a statement with a semicolon [
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
79], in JavaScript the semicolon is optional. However, if semicolon is missing, you need to end the statement with a newline [and JavaScript engine will insert a semicolon for you]Semicolons in JavaScript divide the community. Some prefer to use them always, no matter what. Others like to avoid them for brevity. I shall leave it to you
Một khối bao gồm 0 hoặc nhiều câu lệnh được đặt trong một cặp dấu ngoặc nhọn
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
80. No semicolon is needed after the closing braceBiến, chữ và kiểu
Variable declarations [My First JavaScript says
29,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
if [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
7,if [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
8] and Assignment Operator [alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
84]A variable is a named storage location that holds a value. Prior to ES6, you can only use
My First JavaScript says
29 to declare global variables. ES6 introduces two new keywords.Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
if [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
7 to declare a local block-scope variable, andif [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
8 to declare a local block-scope constantBạn nên thử
if [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
8 [an toàn nhất], tiếp theo làif [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
7 và tránhMy First JavaScript says
29Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
You can assign [and re-assign] a value to a variable using the assignment [
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
84] operator. Ví dụ,IdentifiersIdentifiers are names given to identify entities [such as variables and functions]. The rules for valid identifiers are
A literal is a fixed value, e. g. ,
06,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
07,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
08,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
09,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
My First JavaScript says
26,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
21, that can be assigned to a variable, or form part of an expressionTypesHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
JavaScript is object-oriented. But, It supports both primitive types and objects
Primitives are not objects and do not possess properties and methods. JavaScript supports these primitive types
JavaScript also supports these object types and value [we shall discuss object later]
Unlike most of the general programming languages [such as Java/C/C++/C#] which are strongly type, JavaScript is loosely type [similar to most of the scripting languages such as UNIX Shell Script, Perl, Python]. You do not have to explicitly declare the type of a variable [such as
27 andJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
28] during declaration. The type is decided when a value is assigned to that variable. Nếu một số được gán, thì biến đó có kiểuJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
My First JavaScript says
74 và có thể thực hiện các phép tính số như cộng và trừ. If a string is assigned, the variable takes on theHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
30 type and can perform string operations such as string concatenation. In other words, the type is associated with the value, instead of the variableOperatorJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
31JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
You can use the operator
31 to check the type of the current value assigned to a variable.JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
31 returns a stringJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
For example,
The
18 Type andJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
18 Literal ValueJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
An undeclared variable [via
My First JavaScript says
29 keyword] takes on a special type calledHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
18. You cannot refer to its valueJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
When a variable is declared [via
My First JavaScript says
29 keyword] without assigning an initial value, it takes on the typeHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
18 and holds a special value calledJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
18 [JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
41 is probably more precise?. ], As soon as a value is assigned, the variable takes on the type of that value. The act of putting a value into a variable sets its type. You can change the type of a variable by re-assigning a value of another type. In other words, type is associated with the value, not the variable. Types are converted automatically as needed during execution [known as dynamically-typed]JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
For examples,
[ES6] Constantsif [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
8-declarationYou can create a read-only, named constant with the keyword
if [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
8 [in place ofMy First JavaScript says
29]. For example,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
7Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
The
My First JavaScript says
74 Type, Literals & OperationsHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
A variable of type
My First JavaScript says
74 holds a number, either an integer or a floating-point numberHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Integer literals can be expressed in
Floating-point literals can be expressed in the usual form [e. g. ,
63] or scientific notation, e. g. ,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
64,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
65JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
JavaScript also provides some special
My First JavaScript says
74 literalsHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
Các phép toán số học, như được lập bảng dưới đây, có thể được áp dụng cho các số. The following results are obtained assuming that
71,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
72 before the operationOperatorDescriptionExampleResult [JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
71,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
72]+Additionz = x + y;z is 7-Subtraction [or Unary Negation]z = x - y;z is 3*Multiplicationz = x * y;z is 10/Divisionz = x / y;z is 2. 5%Modulus [Division Remainder]z = x % y;z is 1++Unary Pre- or Post-Incrementy = x++; z = ++x;JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
Giống như. y = x;
Same as. x = x-1; y = x; z = x; x = x-1;y is 4; z is 4; x is 3**Exponent
[ES7]y ** xIn JavaScript, arithmetic operations are always performed in double-precision floating-points [NOT integers]. That is,
75 givesJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
76 [instead of 0 in Java/C/C++]. You may use the built-in functionJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
77 to truncate a floating-point value to an integer, e. g. ,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
78 andJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
79 givesJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
80. Bạn cũng có thể sử dụng các hàm toán học có sẵn nhưJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
81,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
82,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
83 để chuyển đổi số dấu phẩy động thành số nguyênExponent Operator [JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
0]JavaScript Example: Loop
Testing Loop
ECMAScript 2016 [ES7] giới thiệu toán tử số mũ [
0], bạn có thể viếtJavaScript Example: Loop
Testing Loop
86, e. g. ,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
87JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
Before ES7, you have to use built-in function
88Arithmetic cum Assignment OperatorsJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
These are short-hand operators to combine two operations
OperatorDescriptionExampleResult+=Addition cum Assignmentx += y;Same as. x = x + y;-=Subtraction cum Assignmentx -= y;Same as. x = x - y;*=Multiplication cum Assignmentx *= y;Same as. x = x * y;/=Division cum Assignmentx /= y;Same as. x = x / y;%=Modulus cum Assignmentx %= y;Same as. x = x % y;Some frequently-used
89 built-in FunctionsJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
The
30 Type, Literals & OperationsJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
A
30 is a sequence of characters enclosed within a pair of single quotes or double quotes [e. g. ,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
08,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
13,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
01,JavaScript Example: The Date object
02]. ES6 introduces multi-line template strings delimited by back quotes [in the next section]. You can use an escape sequence to represent special non-printable characters [such asJavaScript Example: The Date object
My First JavaScript says
58 for new-line,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
04 for tab, andJavaScript Example: The Date object
05 for Unicode character]; and to resolve conflict [e. g. ,JavaScript Example: The Date object
06,JavaScript Example: The Date object
07,JavaScript Example: The Date object
08]JavaScript Example: The Date object
Unlike Java/C/C++, but like HTML/CSS's attributes, you can use either single quotes or double quotes for
30. This is handy as you can use single quotes if theJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
30 contains double quotes [e. g. ,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
11JavaScript Example: The Date object
11], without using the clumsy escape sequences [e. g. ,JavaScript Example: The Date object
13]JavaScript Example: The Date object
JavaScript is dynamically-type, and performs type conversion automatically. When a
30 value is used in arithmetic operations [such as subtraction or multiplication], JavaScript runtime automatically converts theJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
30 to aJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
My First JavaScript says
74 if it represents a validHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
74; or a specialHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
74 calledHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
91 [not-a-number] otherwise. For example,TheJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
My First JavaScript says
00 Operator. Addition or Concatenation?Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
If both the operands to a
My First JavaScript says
00 operator areHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
22, it performs the usual numeric addition. However, if one [or both] of the operand is aJavaScript Example: The Date object
30, theJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
My First JavaScript says
00 operator is overloaded to perform string concatenation. The other operand will be converted to aHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
30, if necessary. For example,Converting a numericJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
30 toJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
My First JavaScript says
74.Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
77,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
29 vàJavaScript Example: The Date object
30JavaScript Example: The Date object
To convert a numeric
30 to aJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
My First JavaScript says
74, you could use the built-in functionsHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
77 orJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
29, which returns aJavaScript Example: The Date object
My First JavaScript says
74 if conversion is successful; orHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
91 otherwise. For example,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
Take note that
77 works as long as theJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
30 begins with digits. It will parse up to the first non-digit. For example,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
You can also use the function
30, which converts the object argument to a number that represents the object's value; orJavaScript Example: The Date object
91 if conversion fails. For example,Constructing/Converting toJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
30.JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
42 andJavaScript Example: The Date object
43JavaScript Example: The Date object
You can construct a
30 from another type viaJavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
42 function, e. g. ,JavaScript Example: The Date object
You can use
43 to obtain aJavaScript Example: The Date object
30 representation of an object, e. g. ,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
You can also convert a number to string by concatenating with an empty string, e. g. ,
String's PropertiesJavaScript does not have a dedicated character type, but treats it as a one-character single. To get an individual character from a string, you can use
[ES6] Multi-line Back-Quoted Template String and Substitution
Prior to ES6, You can enclosed a string literal using either single or double quotes [e. g. ,
08,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
13,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
01,JavaScript Example: The Date object
02]. Escape sequences are to be used for special characters [e. g. ,JavaScript Example: The Date object
My First JavaScript says
58 cho dòng mới,Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
04 cho tab] và giải quyết xung đột [e. g. ,JavaScript Example: The Date object
06,JavaScript Example: The Date object
07,JavaScript Example: The Date object
08]. Chuỗi nhiều dòng không được hỗ trợJavaScript Example: The Date object
ES6 introduces template string, delimited by back-quotes, for example,
Không cần thoát trích dẫn đơn hoặc kép bên trong chuỗi mẫu [vì không có xung đột]. But you need to use escape sequence for back-quote, i. e. ,
75JavaScript Example: The Date object
Template strings support multi-line strings. All whitespaces [blank, tab, newline] within the back-quotes are part of the multi-line string. For example,
Substitution
76JavaScript Example: The Date object
Template strings support substitution, which allow you to embed any valid JavaScript expression as part of the string in the form of
76, for example,JavaScript Example: The Date object
Multi-line template string with substitution provides a more convenient way to write out formatted HTML fragment. For example,
My First JavaScript says
8Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
The
78 Type, Literals & OperationsJavaScript Example: The Date object
Một biến kiểu
78 giữ giá trị làJavaScript Example: The Date object
My First JavaScript says
26 hoặc làHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
27.Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
26 andHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
27 are keywords in JavaScriptHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
As mentioned, JavaScript performs automatic type conversion if necessary. During the type conversion, the following 6 values are converted to
My First JavaScript says
27Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
All the other values are converted to
My First JavaScript says
26Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
You need to memorize this.
93 returnJavaScript Example: The Date object
My First JavaScript says
26 ifHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
95 is one of these 6 values.JavaScript Example: The Date object
49,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
91,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
13,JavaScript Example: The Date object
18,JavaScript Example: Variables and functions prompt[] and confirm[]
Welcome to JavaScript!
My First JavaScript says
27, andHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
My First JavaScript says
21Comparison [Relational] OperatorsHello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
The following relational operators, which produce a
78 result, are defined in JavaScript. The results are obtained assumingJavaScript Example: The Date object
if [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
03,if [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
04OperatorDescriptionExampleResult
[if [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
03,if [ condition-1 ] { block-1 ; } else if [ condition-2 ] { block-2 ; } else if [ condition-3 ] { block-3 ; ...... ...... } else { block-n ; }
04]==Abstract Equal To
[in Value]My First JavaScript says
9Hello world, again!
This document was last modified on mm/dd/yyyy hh:mm:ss.
alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
0. =Abstract Not Equal To===Strictly Equal To
[in Type and Value]alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
1alert['hello, world'] document.write['hello world, again'] console.log['hello world, again and again']
2. ==Strictly Not Equal To>Greater Than>=Greater Than or Equal To