Giải thích bao đóng trong php là gì và tại sao nó lại sử dụng mã định danh “sử dụng”?

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

Show

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ợp

JavaScript 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. js

JavaScript đã 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ản

JavaScript, 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ũ (
    
    
    
    
      
      JavaScript Example: Loop
    
    
      

    Testing Loop

    0), phạm vi khối của các biến và hàm, từ khóa
    
    
    
    
      
      JavaScript Example: Loop
    
    
      

    Testing Loop

    1 và
    
    
    
    
      
      JavaScript Example: Loop
    
    
      

    Testing Loop

    2 cho lập trình không đồng bộ, v.v.
  • 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,
    
    
    
    
      
      JavaScript Example: Loop
    
    
      

    Testing Loop

    3,
    
    
    
    
      
      JavaScript Example: Loop
    
    
      

    Testing Loop

    4 để thao tác đối tượng dễ dàng, v.v.
  • ECMAScript 2018 (ES9). Đã thêm tham số phần còn lại (
    
    
    
    
      
      JavaScript Example: Loop
    
    
      

    Testing Loop

    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 quy
  • ECMAScript 2019 (ES10). Đã thêm
    
    
    
    
      
      JavaScript Example: Loop
    
    
      

    Testing Loop

    6,
    
    
    
    
      
      JavaScript Example: Loop
    
    
      

    Testing Loop

    7, thay đổi
    
    
    
    
      
      JavaScript 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.
  • 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ượng
    for ( 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,)
JavaScript so với. Java

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?

  1. Nó không thể đọc tệp từ máy của khách hàng
  2. 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ủ
  3. Nó không thể kết nối với máy chủ khác
  4. Nó không thể đóng một cửa sổ mà nó không mở
jQuery

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à IDE

Bạ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
    
    
    
    
      
      JavaScript Example: User-defined function and onclick Event Handler
      
    
    
      

    Example on event and user-defined function

    0 KHÔNG phải là một
    
    
    
    
      
      JavaScript Example: User-defined function and onclick Event Handler
      
    
    
      

    Example on event and user-defined function

    1 và KHÔNG phải là một
    
    
    
    
      
      JavaScript Example: User-defined function and onclick Event Handler
      
    
    
      

    Example on event and user-defined function

    2
  • 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 onclick 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 onclick Event Handler
  


  

Example on event and user-defined function

4" hoặc "




  
  JavaScript Example: User-defined function and onclick 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?
  1. 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ẻ
    
    
    
    
      
      JavaScript Example: User-defined function and onclick Event Handler
      
    
    
      

    Example on event and user-defined function

    6, như sau. GHI CHÚ. Trong HTML4/XHTML, bạn cần thêm thuộc tính
    
    
    
    
      
      JavaScript Example: User-defined function and onclick Event Handler
      
    
    
      

    Example on event and user-defined function

    7 vào phần tử
    
    
    
    
      
      JavaScript Example: User-defined function and onclick 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ần
    
    
    
    
      
      JavaScript Example: User-defined function and onclick Event Handler
      
    
    
      

    Example on event and user-defined function

    9 và
    
    
    
    
      
      JavaScript Example: Events onload, onmouseover and onmouseout
      
    
    
      

    "Hello" alert Box appears after the page is loaded.

    Point your mouse pointer here!!!

    0
  2. Các câu lệnh JavaScript được kết thúc bằng dấu chấm phẩy
    
    
    
    
      
      JavaScript Example: Events onload, onmouseover and onmouseout
      
    
    
      

    "Hello" alert Box appears after the page is loaded.

    Point your mouse pointer here!!!

    1 (như Java/C/C++/C#)
  3. Hàm
    
    
    
    
      
      JavaScript Example: Events onload, onmouseover and onmouseout
      
    
    
      

    "Hello" alert Box appears after the page is loaded.

    Point your mouse pointer here!!!

    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ặc
    
    
    
    
      
      JavaScript Example: Events onload, onmouseover and onmouseout
      
    
    
      

    "Hello" alert Box appears after the page is loaded.

    Point your mouse pointer here!!!

    5
  4. Trang web hiện tại được đại diện bởi cái gọi là đối tượng
    
    
    
    
      
      JavaScript Example: Events onload, onmouseover and onmouseout
      
    
    
      

    "Hello" alert Box appears after the page is loaded.

    Point your mouse pointer here!!!

    6 trong JavaScript. Thuộc tính
    
    
    
    
      
      JavaScript 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àm
    
    
    
    
      
      JavaScript 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 để ghi
    
    
    
    
      
      JavaScript 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ại
  5. Toán tử
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    00 (Dòng 16) có thể được sử dụng để nối hai chuỗi (như Java)
  6. Theo kết quả của
    for ( initialization ; test ; post-processing ) {
       body ;
    }
    9, phần
    
    
    
    
      
      JavaScript Example: Events onload, onmouseover and onmouseout
      
    
    
      

    "Hello" alert Box appears after the page is loaded.

    Point your mouse pointer here!!!

    0 của tài liệu này chứa.
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

  7. 
    
    
    
      
      JavaScript Example: Events onload, onmouseover and onmouseout
      
    
    
      

    "Hello" alert Box appears after the page is loaded.

    Point your mouse pointer here!!!

    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 JavaScript

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 says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

05 và
My First JavaScript says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

06. )

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 says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

09 và sẽ được gọi là
My First JavaScript says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

10. Nhưng vì
My First JavaScript says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

09 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ượng

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

  1. 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)
  2. 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 says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

12 ghi thông điệp vào bảng điều khiển, thường được sử dụng để gỡ lỗi (như
My First JavaScript says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

13 trong Java hoặc
My First JavaScript says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

14 trong C)

Các thông báo lỗi ở đâu?

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

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

  1. Hàm
    
    
    
    
      
      JavaScript Example: Events onload, onmouseover and onmouseout
      
    
    
      

    "Hello" alert Box appears after the page is loaded.

    Point your mouse pointer here!!!

    2 đặt
    
    
    
    
      
      JavaScript 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ục
  2. Hàm
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    19 hiển thị hộp bật lên đầu vào với
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    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ọn
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    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ôi
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    23 cho gọn
  3. Hàm
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    24 đặt
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    25 trên hộp bật lên có các nút OK và Hủy. Nó trả về
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    26 nếu người dùng nhấn nút OK;




  
  JavaScript Example: Variables and functions prompt() and confirm()
  


  

Welcome to JavaScript!

Làm thế nào nó hoạt động?
  1. Dòng 8 khai báo một biến toàn cục có tên là
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    28, thông qua từ khóa
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    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án
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    30 (Dòng 9)
  2. Dòng 9 gọi hàm
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    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ến
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    28. Hàm
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    15 tương tự như hàm
    for ( initialization ; test ; post-processing ) {
       body ;
    }
    8, nhưng nó chấp nhận đầu vào của người dùng
  3. Ở Dòng 10, hàm
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    24 hiển thị thông báo và trả về
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    26 hoặc
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    27, tùy thuộc vào việc người dùng nhấn nút OK hay Cancel
  4. Nếu kết quả là
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    26, Dòng 11 in ra
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    39. Nếu không, Dòng 13 in ra _______44_______40

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

Tập lệnh sau tạo một đối tượng

My First JavaScript says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

43 biểu thị ngày giờ hiện tại và in thời gian hiện tại





  
  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
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    45. Nó cũng tạo một đối tượng
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    43 (thông qua toán tử
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    47), chứa dấu ngày-giờ hiện tại và gán nó cho
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    45
  • "______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
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    50. Nó cũng gọi hàm
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    51 trên đối tượng
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    45, ở dạng
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    53, để truy xuất phần giờ của đối tượng
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    45 và gán nó cho biến
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    50. Dòng 9 và 10, tương tự, xử lý phút và giây
  • Dòng 12 đến 14 sử dụng
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    56 để ghi vào tài liệu hiện tại.
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    57 (write-line) viết một dòng mới (
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    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;
  • 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
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    50, một trong các thông báo sẽ được hiển thị
TRY
  1. 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
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    62,
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    63,
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    64 và
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    65 của đối tượng
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    43.
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    62 returns 1-31.
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    63 returns 0 to 11 for January to December.
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    64 returns a 4-digit year.
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    65 returns 0 to 6 for Sunday to Saturday)
  2. 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
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    71 construct as follow. )
    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
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    72
  • Lines 12-14 contain a for-loop. A for-loop takes the following syntax.
    for ( initialization ; test ; post-processing ) {
       body ;
    }
    Giải thích bao đóng trong php là gì và tại sao nó lại sử dụng mã định danh “sử dụng”?

    There are four parts in a for-loop. Three of them, initialization, test and post-processing, are enclosed in brackets

    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    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.

    In this example, the variable

    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    74 is initialized to 1. If
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    74 is less than or equal to 100, the body of the loop executes, followed by the post-processing statement, which increment the value of
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    74 by 1. The loop repeats until the value of
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    74 is NOT less than or equal to 100 (i. e. , more than 100)

TRY
  1. 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
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    15 statements)
  2. Modify the above script to print only multiples that are odd number. (Hint. The modulo operator "
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    79" can be used to compute the remainder, e. g. ,
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    80 computes the remainder of
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    81 divides by 2, which results in either 0 or 1. )

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

Besides the JavaScript built-in functions such as

for ( initialization ; test ; post-processing ) {
   body ;
}
8,
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.

85, and
My First JavaScript says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

57, 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 caller





  
  JavaScript Example: User-defined function and onclick 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
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    87, via the keyword
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    88. The function invokes the built-in function
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    89, which opens a new browser window (or tab) and loads the page "
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    90"
  • Lines 15-16 create an HTML button. Clicking the button triggers the
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    82 event handler, i. e. ,
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    87 defined earlier

TRY. Include another button, which opens "

My First JavaScript says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

93"

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

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
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    94. fires after browser loaded the page
  • 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. fires when the user points the mouse pointer at/away from the HTML element




  
  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 the
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    94 event handlers
  • In the opening tag (Line 12), we define the
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    94 event handler for the
    alert('hello, world')
    document.write('hello world, again')
    console.log('hello world, again and again')
    03 event. It invokes
    for ( 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
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    95 và
    My First JavaScript says
    

    Hello world, again!

    This document was last modified on mm/dd/yyyy hh:mm:ss.

    96 cho phần tử HTML

    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 property
    alert('hello, world')
    document.write('hello world, again')
    console.log('hello world, again and again')
    07 to an empty string). The special keyword
    alert('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 says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

0
My First JavaScript says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

1
My First JavaScript says

Hello world, again!

This document was last modified on mm/dd/yyyy hh:mm:ss.

2
Làm thế nào nó hoạt động?
  1. 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
  2. Let's begin with the HTML file. Now, the HTML file keeps only the contents, no presentation style and nor programming logic

    1. The CSS style sheet is kept in an external file, referenced via the above
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      6 tag
      Note. In HTML4/XHTML1. 0 you need to include attribute
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      11 in the
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      6 opening tag

    2. Also, the JavaScript programming code is kept in an external file, referenced via the above
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      6 is needed, although there is no content
      Ghi chú. Trong HTML4/XHTML1. 0, bạn cần bao gồm thuộc tính
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      7 trong
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      6
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      3
      Làm thế nào nó hoạt động?
      1. 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, hai

        yế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ử
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        6 với phần tử duy nhất là
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        19

      2. 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ụng
        alert('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ính
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        22 của nó
      3. 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ụng
        alert('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ính alert('hello, world') document.write('hello world, again') console.log('hello world, again and again')26 giữ độ dài của mảng

      4. 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ụng
        alert('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ến
        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, vì vòng lặp
        alert('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;

      5. Trang chứa ba nút để kích hoạt các chức năng được xác định
      6. để 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
      7. 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
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        94 thông qua
        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. The
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        33 function assigns
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        82 event handlers to the buttons, selected via
        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
      8. Instead of
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        22 property, older versions of JavaScript use
        alert('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
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      4
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      5
      Làm thế nào nó hoạt động?
      1. The HTML page has an hyperlink
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        6with an unique
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        19
      2. The
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        33 function assigns an
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        82 handler to the hyperlink, selected via
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        39
      3. When the hyperlink is clicked, the
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        82 handler
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        50 triggered. If
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        16 returns true, the new page will be loaded; otherwise, the current page remains

      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 data

      After 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 Tools

      In Chrome and Firefox, you can press F12 to activate the developer Tools (hence called F12 Developer Tools)

      It provides these features

      1. Console. View the JavaScript error messages. Start the firebug and switch to the "Console" panel
      2. 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
      3. DOM. View the HTML DOM of the current document
      4. HTML and CSS

      To debug JavaScript

      1. Launch Firebug ⇒ Choose the "Script" panel to view your JavaScript, shown with green-bold line numbers
      2. Refresh (Ctrl-F5) the page, and check the error console (Under "Console" ⇒ "Errors") for syntax errors. Correct all the syntax errors
      3. 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. ]
      4. 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"
      5. You can resume the execution (via the continue button)
      The
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      53

      Instead of using

      for ( initialization ; test ; post-processing ) {
         body ;
      }
      8 and
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      9 to show the intermediate results, you can also use
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      56, which writes the
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      57 and the value of the
      alert('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 operations

      For 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
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      6

      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

      1. JavaScripts enclosed in
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        6 runs during loading of the page
      2. 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
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        82) or loaded a page (
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        94)

      There are, therefore, two places to put your JavaScript

      1. between
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        6 container tags; and
      2. inside the HTML tags as the event handlers (such as
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        82,
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        95,
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        94), e. g. ,
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        66
      The
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      6 element contains the JavaScript programming statements. For example,

      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
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      6 is needed although there is no content. ?

      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
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      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 examples

    3. Standalone JS Eg 2. [TODO]

      [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
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      49 and lasts till the end of the current line. A multi-line comment begins with
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      73 and lasts till
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      74

      Take note that

      • 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 comment
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        49
      • JavaScript supports both
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        75 and
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        49, like Java/C/C++/C#

      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 brace

      Biến, chữ và kiểu

      Variable declarations (
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      29,
      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
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      29 to declare global variables. ES6 introduces two new keywords.
      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, and
      if ( 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 constant

      Bạ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ánh
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      29

      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ụ,

      Identifiers

      Identifiers are names given to identify entities (such as variables and functions). The rules for valid identifiers are

      • 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
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        0 is NOT a
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        2, and is NOT a
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        1
      • Identifiers cannot be keywords
      • Take note that hyphen (
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        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 (
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        95) instead of hyphen (
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        01)
      Literals

      A literal is a fixed value, e. g. ,

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      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,
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      26,
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      21, that can be assigned to a variable, or form part of an expression

      Types

      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

      1. string. a sequence of characters. Strings literals are enclosed in 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)
      2. number. takes both integer (e. g. ,
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        06) or floating-point (e. g. ,
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        15)
      3. boolean. takes boolean literal of either
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        26 or
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        27 (in lowercase)
      4. undefined. takes a special literal value called
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        18. Take note that
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        18 is both a type and a literal value
      5. symbol (ES6). A data type whose instances are unique and immutable
      6. bigint (ES2020/ES11). integers with arbitrary precision

      JavaScript also supports these object types and value (we shall discuss object later)

      1. object. for general objects
      2. function. for function objects. Unlike Java, function is a first class object in JavaScript, e. g. , you can assign a function to a variable
      3. null. A special literal value for unallocated (unconstructed)
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        20. Take note that
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        21 is NOT
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        22. The
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        23 is
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        20.
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        21 is meant to represent an absence of a constructed object.
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        21 is actually considered to be a primitive as it has no properties and methods

      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

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      27 and
      
      
      
      
        
        JavaScript 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ểu
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      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 the
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 type and can perform string operations such as string concatenation. In other words, the type is associated with the value, instead of the variable

      Operator
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      31

      You can use the operator

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      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 string

      For example,

      The
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18 Type and
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18 Literal Value

      An undeclared variable (via

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      29 keyword) takes on a special type called
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18. You cannot refer to its value

      When a variable is declared (via

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      29 keyword) without assigning an initial value, it takes on the type
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18 and holds a special value called
      
      
      
      
        
        JavaScript 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)

      For examples,

      (ES6) Constants
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      8-declaration

      You 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 of
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      29). For example,

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      7

      The
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74 Type, Literals & Operations

      A variable of type

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74 holds a number, either an integer or a floating-point number

      Integer literals can be expressed in

      • Decimal. begins with a digit
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        47 to
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        48 (not
        
        
        
        
          
          JavaScript 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 or
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        51,
      • Octal. begins with a digit
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        49, e. g. ,
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        53 or
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        54,
      • Hexadecimal. begins with
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        55 (or
        
        
        
        
          
          JavaScript 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 or
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        58
      • Binary. begins with
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        59 (or
        
        
        
        
          
          JavaScript 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 or
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        62. [Binary may not be supported in some browsers. ]

      Floating-point literals can be expressed in the usual form (e. g. ,

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      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!

      65

      JavaScript also provides some special

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74 literals

      • infinity. e. g. ,
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        67
      • -infinity. e. g. ,
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        68
      • NaN (Not-a-Number). e. g. ,
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        69, or converting the string
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        70 to a number
      Arithmetic Operations

      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

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      71,
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      72 before the operation

      OperatorDescriptionExampleResult (
      
      
      
      
        
        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;
      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 ** x

      In JavaScript, arithmetic operations are always performed in double-precision floating-points (NOT integers). That is,

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      75 gives
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      76 (instead of 0 in Java/C/C++). You may use the built-in function
      
      
      
      
        
        JavaScript 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 and
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      79 gives
      
      
      
      
        
        JavaScript 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ên

      Exponent Operator (
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      0)

      ECMAScript 2016 (ES7) giới thiệu toán tử số mũ (

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      0), bạn có thể viết
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      86, e. g. ,
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      87

      Before ES7, you have to use built-in function

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      88

      Arithmetic cum Assignment Operators

      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
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      89 built-in Functions
      • parseInt(str), parseFloat(str). Parse the
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        3 until the first non-digit, and return the number; or
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        91
      • 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
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        3 is not a number. For example, It is interesting to note that JavaScript does not have counterpart functions like
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        93,
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        94
      • Number(str). Return the number represented by
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        25, or
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        91. Take that that this function name begins with uppercase, because this is a type casting operation
      • toFixed(decimalPlaces). Return this number/string to the given number of decimal places. For example,

      The
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 Type, Literals & Operations

      A

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      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: The Date object
        
      
      
      
      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 as
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      58 for new-line,
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      04 for tab, and
      
      
      
      
        
        JavaScript 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)

      Unlike Java/C/C++, but like HTML/CSS's attributes, you can use either single quotes or double quotes for

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30. This is handy as you can use single quotes if the
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 contains double quotes (e. g. ,
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      11

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      11), without using the clumsy escape sequences (e. g. ,
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      13)

      JavaScript is dynamically-type, and performs type conversion automatically. When a

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 value is used in arithmetic operations (such as subtraction or multiplication), JavaScript runtime automatically converts the
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 to a
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74 if it represents a valid
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74; or a special
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74 called
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      91 (not-a-number) otherwise. For example,

      The
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      00 Operator. Addition or Concatenation?

      If both the operands to a

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      00 operator are
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      22, it performs the usual numeric addition. However, if one (or both) of the operand is a
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30, the
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      00 operator is overloaded to perform string concatenation. The other operand will be converted to a
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30, if necessary. For example,

      Converting a numeric
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 to
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74.
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      77,
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      29 và
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      30

      To convert a numeric

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 to a
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74, you could use the built-in functions
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      77 or
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      29, which returns a
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74 if conversion is successful; or
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      91 otherwise. For example,

      Take note that

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      77 works as long as the
      
      
      
      
        
        JavaScript 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,

      You can also use the function

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      30, which converts the object argument to a number that represents the object's value; or
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      91 if conversion fails. For example,

      Constructing/Converting to
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30.
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      42 and
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      43

      You can construct a

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 from another type via
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      42 function, e. g. ,

      You can use

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      43 to obtain a
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 representation of an object, e. g. ,

      You can also convert a number to string by concatenating with an empty string, e. g. ,

      String's Properties
      • length. E. g. ,
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        48 returns the length of the string
      String's Operations
      • toUpperCase(). returns the uppercase string
      • toLowerCase(). returns the lowercase string
      • charAt(idx). returns the character at the
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        49 position. Index begins from 0. Negative index can be used, which counts from the end of the string
      • substring(beginIdx, endIdx). returns the substring from
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        50 (inclusive) to
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        51 (exclusive)
      • substr(beginIdx, length). returns the substring from
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        50 of
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        53
      • indexOf(searchStr, fromIdx?). Return the beginning index of the first occurrence of
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        54, starting from an optional
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        55 (default of 0); or
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        56 if not found
      • lastIndexOf(searchStr, fromIdx?). Return the beginning index of the last occurrence of
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        54
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        6, starting from an optional
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        55 (default of
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        60); or
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        56 if not found
      • slice(beginIdx, endIdx). Return the substring from
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        62 (inclusive) to
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        63 (exclusive)
      • repeat(count) (ES6). repeat the string
      • split(delimiter), array. join(delimiter). returns an array by splitting the string using
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        64, e. g. ,
      • Searching/Modifying Strings using Regular Expression. See ""
      Character Type?

      JavaScript 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

      • charAt(idx). For example,
      • Array Bracket Operator []. You can treat a string as a character array, and access individual character via array bracket operator
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        65, e. g. ,

      (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. ,

      
      
      
      
        
        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: The Date object
        
      
      
      
      01,
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      02). Escape sequences are to be used for special characters (e. g. ,
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      58 cho dòng mới,
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      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ợ

      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. ,

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      75

      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
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      76

      Template strings support substitution, which allow you to embed any valid JavaScript expression as part of the string in the form of

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      76, for example,

      Multi-line template string with substitution provides a more convenient way to write out formatted HTML fragment. For example,

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      8

      The
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      78 Type, Literals & Operations

      Một biến kiểu

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      78 giữ giá trị là
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      26 hoặc là
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      27.
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      26 and
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      27 are keywords in JavaScript

      As mentioned, JavaScript performs automatic type conversion if necessary. During the type conversion, the following 6 values are converted to

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      27

      1. number
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        49
      2. number
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        91 (Not-a-Number),
      3. empty string (
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        13,
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        88),
      4. 
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        18 value,
      5. boolean
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        27,
      6. My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        21 (unallocated) object

      All the other values are converted to

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      26

      You need to memorize this.

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      93 return
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      26 if
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      95 is one of these 6 values.
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      49,
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      91,
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      13,
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18,
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      27, and
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      21

      Comparison (Relational) Operators

      The following relational operators, which produce a

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      78 result, are defined in JavaScript. The results are obtained assuming
      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

      OperatorDescriptionExampleResult
      (
      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
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      9
      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')
      1
      alert('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
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      07 vs.
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      08

      The strictly equality operator (

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      07) returns
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      26 if both operands have the same type and same value; while abstract equality operator (
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      08) returns
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      26 if both operands have the same value, but may or may not be the same type, i. e. , == converts its operands if the operand types do not match

      JavaScript needs to provide two different equality operators, because it is loosely type and carries out automatic type conversion in many situation. For example,

      • When a number is compared with a string, the string is converted to a number (or
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        91 if it does not contain a valid number). Hence,
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        14 returns
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        26. But,
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        16 returns
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        27, because the operands are not of the same type
      • if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        07,
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        19,
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        08,
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        21 can be applied to boolean (and all the JavaScript types), e. g. ,
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        22 gives
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        26 (because empty string is converted to
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        27); but
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        25 gives
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        26
      • It is RECOMMENED to use
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        07 (or
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        19), instead of
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        08 (or
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        21), unless you are certain that type is not important
      String Sorting (Collation) Order

      When two strings are compared, the encoding order (ASCII/Unicode table) is used. Hence, string

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      31 is greater than string
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      32

      For example,

      To compare two strings alphabetically, use

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      33, e. g. , [LÀM]

      Logical (Boolean) Operators

      The following boolean (or logical) operators are provided in JavaScript

      Toán tử Mô tảVí dụResult&&Logical AND. Logical OR. Logical NOT&&=Logical AND cum assignment (ES12). =Logical OR cum assignment (ES12)

      Notes.

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      34 in JavaScript is a bitwise XOR operator, not really boolean XOR (which is rarely needed)

      Short-Circuit Evaluation for Boolean Expressions

      Evaluation of logical operations are always short-circuited. That is, the operation is terminated as soon as the result is certain, e. g. , (

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      35) is short-circuited to give
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      27, (
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      37) gives
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      26, the
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      5 will not be evaluated

      Explicit Type Conversion

      The JavaScript runtime performs type conversion automatically. However, at times, you may need to convert from one type to another explicitly

      Converting a

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74 to a
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30. Simply concatenate the
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74 with an empty
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      43, e. g. ,
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      44 gives
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      45

      Converting a

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 to a
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74. Use built-in functions
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      48,
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      49 or
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      50 to convert a
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      3 which contains a valid
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74. For example,
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      53 gives
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      80,
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      78 gives
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      80,
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      79 gives
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      80,
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      59 gives
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      60,
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      61 gives
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      80, but
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      63 gives
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      91

      Converting a float to an integer. Use

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      77 (e. g. ,
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      78 gives
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      80), or built-in mathematical functions such as
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      81,
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      83 or
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      82

      Flow Control - Decision (Conditional)

      JavaScript provides these flow control construct. The syntax is the same as Java/C/C++

      SyntaxExample
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      3
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      4
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      5
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      6
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      7

      Notes. JavaScript, like C/Java, does not support native

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      71, but nested
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      72

      [ES12] Logical nullish Assignment Operator (
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      5)

      The logical nullish assignmebnt

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      74 assigns only if x is
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      21 (unallocated object) or
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18 (uninitialized variable) i. e. , nullish. For example,

      Flow Control - Loops (Repetition)

      JavaScript provides the following loop constructs. The syntax is the same as Java/C/C++

      JavaScript also introduces

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      77 and
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      29 loops (to be discussed later)

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      79,
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      80 and Statement Label

      The following loop-control statements are provided (same syntax as Java/C/C++)

      • break. exits the innermost loop
      • continue. aborts the current iteration, and continues to the next iteration
      • label. provides an identifier for a statement, which can be used by
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        81 and
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        82

      Try to avoid these statements, as they are hard to trace and maintain

      Arrays

      An array is an indexed collection. An array can be used to store a list of items (elements) under a single name with an running integer index. You can reference individual element via the integral index in the form of

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      83. Furthermore, you can conveniently process all the elements of an array collectively via a loop with a varying index

      Creating an Array via "Array Initializer
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      84"

      You can create an array by assigning an array literal to a variable, known as Array Initializer, in the form of

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      84. For examples,

      Hãy lưu ý rằng mảng chữ của JavaScript được đặt trong dấu ngoặc vuông

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      86, thay vì
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      87 trong Java/C/C++. JavaScript uses
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      87 for object literal (to be discussed later)

      You can also use an Array Initializer to create an array with missing indexes. For example,

      Accessing an Item

      You can access individual element of an array via an integral index, in the form of

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      83. The index of the array begins at 0, and shall be a non-negative integer

      Array's Property
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      90

      The length of the array is maintained in a variable (property) called

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      90, which can be accessed via
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      92. In fact, the property
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      93 returns the last integral index plus 1, as JavaScript's array index is 0-based. Nonetheless, you are allow to manipulate (write) the
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      93. For example,

      Dynamic Arrays

      Unlike Java/C/C++, the JavaScript array is dynamically allocated. You can add more elements to an array. You can also remove the content of an element using keyword

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      95. For examples,

      Accessing All Items using for-loop with index

      Array is usually processed collectively using a loop, e. g. ,

      The JavaScript's
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      77 loop

      JavaScript provides a special

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      97 loop to process all the elements in an array. The syntax is as follows, where
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      98 takes on the each of the index number of element which are not
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18

      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      8

      For example,

      The JavaScript's
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      29 loop

      JavaScript provides a special

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      01 loop to process all the elements in an array. The syntax is as follows, where
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      02 takes on the each of the element including the
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18

      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      9
      Add/Remove item(s)

      You can

      • Use index
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        04 to add one item to the end of an array
      • Use
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        95 to remove a particular index (set it to
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        18)
      • Use
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        07 to add one or more items to the end of an array.
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        08 returns the resultant length of the array
      • Use
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        09 to add one or more items to the beginning of an array.
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        10 returns the resultant length of the array
      • Use
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        11 to remove and return the last item of an array
      • Use
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        12 to remove and return the first item of an array

      For examples,

      PurposeExampleAdd one item to the end of an array using index
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      13Add one or items to the end of an array using
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      07
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      08 returns the resultant length of the array. Add one or items to the beginning of an array using
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      09
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      10 returns the resultant length of the array. Remove and return the last item from an array using
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      11Remove and return the first item of an array using
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      12
      Array's Properties (Variables) and Operations (Functions)

      The

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      20 object has these commonly-used properties

      • length. the number of items including
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        18 items. In fact,
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        93 is set to the last index plus 1

      It has these commonly-used methods

      • array. join([separator]). join the elements of an array together into a single string, separated by the
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        23 (defaulted to
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        24). For example,
      • str. split([separator, limit]). Reverse of
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        25. Take a string and split into an array based on the
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        26. For example,
      • array. concat(value1, value2, . , valueN). returns a new array composing of this array and the given arrays or values. For example,
      • array. reverse(). reverses the order of elements in the array, the first becomes last. For example,
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        0
      • array. sort(). sắp xếp các phần tử trong mảng. Ví dụ, Take note take, theo mặc định, số cũng được sắp xếp dựa trên thứ tự ASCII/Unicode. To sort numbers numerically, you can supply a callback comparison function. The function shall take 2 arguments, say
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        27 and
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        28, and return a negative number if
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        29; a positive number if
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        30; and 0 if
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        31
      • array. slice(beginIdx, endIdx). extracts and returns a section of an array from
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        62 (inclusive) to
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        63 (exclusive). For example,
      • array. splice(startIdx, countToRemove, insertItem1, insertItem2, . ). removes elements from an array, and insert elements at its place. For example,
      • array. indexOf(searchItem[, startIdx]) and array. lastIndexOf(searchItem[, startIdx]). search for the index of the item forward or backward. It returns -1 if item cannot be found. For example,
      • push(). adds one or more elements to the end of an array and returns the resultant length of the array
      • pop(). removes and return the last element from an array
      • shift(). removes and returns the first element from an array
      • unshift(). adds one or more elements to the front of an array and returns the resultant length of the array

      Functional Programming in Filter-Map-Reduce pattern

      Arrays also support these iterative methods that iterate through each item of the array, to support functional programming of filter-map-reduce pattern

      • array. forEach(callback). takes a function with an argument which iterates through all the items in the array. NOTE. This syntax is meant to support functional programming of filter-map-reduce pattern
      • array. map(callback). return a new array, which contains all the return value from executing
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        34 on each item. For example,
      • filter(callback). return a new array, containing the items for which
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        34 returned
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        26. For example,
      • array. every(callback). return
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        26 if
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        34 returns
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        26 for ALL items
      • array. some(callback). return
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        26 if
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        34 returns
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        26 for at least one item in the array

      For detailed specification and examples about a built-in object, check "Core JavaScript References"

      Associative Arrays of Key-Value Pairs

      An associative array is an array of key-value pair. Instead of using numbers 0, 1, 2,. as keys as in the regular array, you can use anything as key in an associative array. Associative arrays are used extensively in JavaScript and jQuery

      JavaScript does not support native associative array (it actually does not support native array too). In JavaScript, associative arrays (and arrays) are implemented as objects (to be elaborate later)

      You can create an associative array via the Object Initializer. For example,

      Take note that Array initializer uses square brackets

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      43; while object initializer (for associative array) uses curly brackets
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      44

      Functions

      Functions are useful

      • when you have to use the same codes several times
      • as the JavaScript event handler
      • make your program easier to read and understood

      A function accepts zero or more arguments from the caller, performs the operations defined in the body, and returns zero or a single result to the caller

      Functions are objects in JavaScript (to be discussed later)

      The syntax for user-defined function is

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      1

      Functions are declared using the keyword

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      88. Unlike Java/C/C++, you do not have to specify the return-type and the types of the arguments because JavaScript is loosely typed. You can use a
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      46 statement to return a single piece of result to the caller anywhere inside the function body. If no
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      46 statement is used (or a
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      46 with no value), JavaScript returns
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18

      Đối với JavaScript phía máy khách, các chức năng thường được xác định trong phần

      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      9, để nó luôn được tải trước khi được gọi

      To invoke a function

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      2
      Client-Side JavaScript Function Examples
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      3
      Hàm của
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      51

      Hàm có quyền truy cập vào một biến tích hợp bổ sung có tên là

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      51 bên trong phần thân của nó, là một mảng chứa tất cả các đối số. For example,

      Pass by Value vs. Pass by Reference

      In JavaScript, primitive arguments are passed by value. That is, a copy of the variable is made and passed into the function. On the other hand, objects (including array and associative array) are passed by references. That is, if you modify the content of an object inside the function, the "copy" outside the function is also affected

      The Default Function Arguments

      JavaScript lets you invoke a function omitting some trailing arguments. It sets the omitted arguments to the value

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18. For example,

      You can use this feature to provide default value to function argument, for example,

      In the above example, we allow caller to omit the trailing arguments (

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      54,
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      55) or pass a
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      21 value (which is a special literal for unallocated object)

      The common idiom in practice today is to use the short-circuited OR expression (as in

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      55) to provide default value if no value (
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18 or
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      21) is passed, provided the valid inputs cannot be
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      27,
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      49,
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      88, and
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      91 that evaluate to
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      27

      (ES6) Function with Default Parameter Values

      ES6 greatly simplify the above by introducing default parameter value in the form of

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      65. For example,

      (ES6) Rest/Spread Operator (
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      5) and Arrow-Function Notation

      ES6 also introduces rest/spread operator (

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      5) and arrow-function notation. See ES6 article

      Anonymous (Inline) Functions

      In JavaScript, you can define an anonymous function (without a function name) using the following syntax

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      4

      Anonymous function is often used in event handlers and others

      Function Variables

      In JavaScript, a variable can hold a primitive (number, string, boolean) or an object

      In JavaScript, functions are first-class object. Hence, a variable can also hold a function object. For example,

      Two Ways in defining a function

      As seen in the above example, there are two ways to define a function

      1. Use a function declaration statement in the form of.
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        5
      2. Use a function expression by assigning an anonymous function to a variable.
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        6
      Functions as Arguments

      Recall that a function takes zero or more arguments from the caller. In JavaScript, arguments can be a primitive or object. Since functions are first-class objects in JavaScript, a function may take another function as its argument

      For example, the following function take a function and an array as its arguments, and apply the function to the array

      Nested Functions

      In JavaScript, you can define a function inside a function. For example,

      Function as the return value

      You can return a function from a function. For example,

      Interacting with Users

      Client-side JavaScript provides these built-in top-level functions for interacting with the user

      • alert(str). Pop-up a box to alert user for important information. The user will have to click "OK" to proceed. The
        for ( initialization ; test ; post-processing ) {
           body ;
        }
        8 returns nothing (or
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        18)
      • prompt(str, defaultValue). Pop-up a box to prompt user for input, with an optional
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        70. The
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        15 returns the user's input as a string. For example,
      • confirm(str). Pop-up a box and ask user to confirm some information. The user will have to click on "OK" or "Cancel" to proceed. The
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        16 which returns a boolean value. For example,
      • document. write(str), document. writeln(str). Write the specified string to the current document. The
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        57 (write-line) writes a newline after the string, while
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        85 does not. Take note that browsers ignores extra white spaces, including newlines, in an HTML document, and treat newline as a single blank character. You need to write a
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        60 or
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        59 tag to ask the browser to display a line break

      The following top-level built-in functions are available to client-side as well as server-side (or standalone)

      • console. log(value). write to the system (or error) console, used mainly for debugging

      Other Top-level Built-in Functions

      JavaScript also pre-defines the following top-level global functions

      • parseInt(str), parseFloat(str). parses the given
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        3 and returns the numeric value or
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        91 (Not-A-Number). The
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        79 accepts an optional
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        80 (or base). For example,
      • Number(object). returns the number representation of the object. It works for
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        81 object, as well as many objects such as
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        43
      • isFinite(number). returns
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        26 if
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        74 is not
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        91,
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        86 or
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        87
      • isNaN(number). returns
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        26 if number is
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        91. Useful for checking the output of
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        77 and
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        29
      • đánh giá (mã). evaluate the given JavaScript codes, which could be an expression or a sequence of statements. For example. [TODO]
      • encodeURI(), decodeURI(), encodeURIComponent(), decodeURIComponent(). encode or decode name-value pairs for the HTTP request, by replacing special characters with
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        92. For example. [LÀM]

      An Introduction to Events (for Client-side JavaScript)

      JavaScript phía máy khách thường hướng sự kiện. That is, a function (called event handler) will be fired in response to a certain user's or browser's action that generates an event

      Các sự kiện thường được sử dụng là

      • 
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        93. được tạo khi người dùng nhấp vào một phần tử HTML
      • 
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        94,
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        95. được tạo khi người dùng định vị con trỏ chuột bên trong/ra khỏi phần tử HTML
      • alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        03,
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        97. được tạo sau khi trình duyệt tải tài liệu và trước khi tài liệu tiếp theo được tải tương ứng

      Trình xử lý sự kiện, được gọi là

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      98 (chẳng hạn như
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      82,
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      00,
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      94), là hàm phản hồi một sự kiện. Trình xử lý sự kiện thường được gắn vào thẻ HTML đích, e. g. ,

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      7

      Thông tin thêm về các sự kiện trong các phần sau

      Các đối tượng

      Đối tượng ở khắp mọi nơi

      JavaScript is object-oriented (OO), and objects are everywhere in JavaScript. Mảng là đối tượng. Chức năng cũng là đối tượng. Các nguyên hàm như chuỗi và số được tự động đóng hộp cho các đối tượng trong nhiều thao tác. Hầu hết mọi thứ trong JavaScript đều có thể là một đối tượng, có thể ngoại trừ

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18 và
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      21 (đối tượng chưa phân bổ)

      Điều quan trọng là phải hiểu các đối tượng để thành thạo JavaScript, vì chúng ở khắp mọi nơi và chúng được sử dụng rộng rãi trong các trình cắm thêm JavaScript như jQuery, AngularJS, React, v.v.

      Tuy nhiên, JavaScript không hỗ trợ tất cả các tính năng OO, để giữ cho ngôn ngữ đơn giản

      Thuộc tính và phương thức

      Trong các ngôn ngữ lập trình hướng đối tượng thông thường (như Java/C++/C#), một đối tượng là một tập hợp các thuộc tính và phương thức dưới một tên chung

      • Thuộc tính (hay còn gọi là biến, thuộc tính). chứa các giá trị được liên kết với đối tượng
      • Phương thức (còn gọi là phép toán, hàm). chứa các hành động mà đối tượng có thể thực hiện

      Ví dụ: một đối tượng

      for ( initialization ; test ; post-processing ) {
         body ;
      }
      04 có các thuộc tính như
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      05,
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      06,
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      07,
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      08;

      Không giống như các ngôn ngữ OO chính thức, JavaScript được thiết kế trên mô hình OO đơn giản. Một đối tượng JavaScript chỉ đơn giản là một tập hợp các thuộc tính. Thuộc tính là sự kết hợp giữa khóa (hoặc tên) và giá trị (i. e. , cặp khóa-giá trị hoặc cặp tên-giá trị). Nếu giá trị là một hàm (hãy nhớ rằng các hàm JavaScript là các đối tượng hạng nhất có thể được gán cho các biến), thì thuộc tính được gọi là một phương thức. Nói cách khác, JavaScript không phân biệt giữa thuộc tính và phương thức như các ngôn ngữ hướng đối tượng thông thường. Một phương thức chỉ đơn giản là một thuộc tính nắm giữ một chức năng

      Tạo đối tượng thông qua Trình khởi tạo đối tượng với Object Literal

      Bạn có thể tạo một đối tượng mới bằng cách gán trực tiếp một đối tượng theo nghĩa đen cho một biến, được gọi là Trình khởi tạo đối tượng. Cú pháp như sau

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      8
      • Một đối tượng JavaScript là một tập hợp các thuộc tính. Mỗi thuộc tính là một liên kết của một cặp tên (khóa) và giá trị
      • Tên và giá trị được phân tách bằng dấu hai chấm
        for ( initialization ; test ; post-processing ) {
           body ;
        }
        13
      • Các cặp tên-giá trị được phân tách bằng dấu phẩy
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        24. No comma is needed after the last name-value pair
      • The property name could be a string or a number. For string name which is NOT a valid identifier (an valid identifier begins with an alphabet, underscore or dollar sign; and does not containing special characters like blank or
        for ( initialization ; test ; post-processing ) {
           body ;
        }
        15), you need to enclose the name with single or double quotes. Otherwise, the quotes are optional. For example, Take note that if the property name's string is a proper identifier, you can omit the quotes. This is commonly practiced by the developers
      • The property value could be a literal, a variable or an expression
      • A property's value could take all JavaScript types, including primitives (string, number, boolean), object or function. The property is known as a method, if it holds a function. JavaScript does not differentiate between variables and methods like conventional OO languages (Java/C++/C#). A method is simply a property holding a function
      • Objects created via Object Initializer are instances of class
        for ( initialization ; test ; post-processing ) {
           body ;
        }
        16
      Trailing Commas

      Trailing commas (sometimes called "final commas") can be useful when adding new elements, parameters, or properties to JavaScript code. If you want to add a new property, you can add a new line without modifying the previously last line if that line already uses a trailing comma. This makes version-control diffs cleaner and editing code might be less troublesome. JavaScript has allowed trailing commas in array literals since the beginning, and later added them to object literals (ES?), and more recently, to function parameters (ES?) and to named imports and named exports (ES?)

      Property Accessors. The Dot and Index (Square Bracket) operator

      In JavaScript, you can access an object's properties via either

      1. The dot (
        for ( initialization ; test ; post-processing ) {
           body ;
        }
        17) operator. in the form of
        for ( initialization ; test ; post-processing ) {
           body ;
        }
        18 or
        for ( initialization ; test ; post-processing ) {
           body ;
        }
        19, just like Java/C++
      2. The index
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        65 operator (or bracket notation). In JavaScript, you can also use the index operator to access the object properties, in the form
        for ( initialization ; test ; post-processing ) {
           body ;
        }
        21, just like accessing an array item
      The
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      95 operator

      You can remove a property (including method) via "

      for ( initialization ; test ; post-processing ) {
         body ;
      }
      23"

      Operator
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      24

      You can use the

      for ( initialization ; test ; post-processing ) {
         body ;
      }
      24 operator to check if a particular instance belongs to a particular class of objects, e. g. ,

      The
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      26 method

      The

      for ( initialization ; test ; post-processing ) {
         body ;
      }
      27 returns
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      26 if
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      29 has the specific
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      30

      Operator
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      31

      You can use the

      for ( initialization ; test ; post-processing ) {
         body ;
      }
      31 operator to check if a particular property belongs to an object, for example,

      Example 1. A Simple Object, Deleting and Adding Properties

      Unlike Java/C++, you can delete or add new properties to an existing JavaScript object

      Example 2. An Object having Object Properties

      An object's property can hold primitives (number, string). It can also hold an object

      Example 3. An object with function

      A JavaScript object's property can also hold a function (or method). You can assign to an anonymous function or a named function as shown in the following example

      To quote or not to quote the name in name-value pair?

      The

      for ( initialization ; test ; post-processing ) {
         body ;
      }
      33 (of the
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      34 pair) can take a string or a number, e. g. ,
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      35

      Many developers do not enquote the string

      for ( initialization ; test ; post-processing ) {
         body ;
      }
      33, if it is a valid identifier (a valid identifier begins with an alphabet,
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      37 or
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      38; and does not contain special characters like blank and
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      15). For example,
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      40 is the same as
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      41. However, you need to enquote a string
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      33 if it is NOT a valid identifier, e. g. ,
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      43

      The string

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      95 must be enquoted; otherwise, it will be treated as a variable name

      Dot Operator vs. Index (Square Bracket) Operator

      You can access an object's property via either dot operator or index operator. Toán tử dấu chấm thường được sử dụng vì nó ngắn gọn hơn và được sử dụng trong các ngôn ngữ OO thông thường. But index operator allows access to properties containing special characters and selection of properties using variables, which is not feasible with dot operator. Ví dụ,

      Iterate through all the properties of an Object

      There are three ways to iterate through all properties of an object

      1. for. in. traverses all enumerable properties of an object and its prototype chain
      2. Object. keys(obj). return an array of all enumerable property names
      3. Object. getOwnPropertyNames(obj). return an array of all property names

      For example,

      Operator
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      45

      Establishes the default object for a set of statements. The syntax is

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      9
      The
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      21 vs
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18 Literal Values

      As discussed earlier

      • An undeclared variable has type of
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        18, and its value cannot be referenced
      • A declared but uninitialized variable has type of
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        18, with a special literal value of
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        18 too. [
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        18 is both a type and a literal value. ]
      • A unallocated object has a special literal value of
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        21. Take note that
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        21 is an object

      Trong các biểu thức boolean, cả

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      21 và
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18 đều có giá trị là
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      27 (cùng với chuỗi rỗng
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      13, số
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      49 và
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      91, và boolean
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      27). To check for
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      21 value, use
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      62, as
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      63 (or
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      93) returns
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      26 for
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      21,
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      18,
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      13,
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      49,
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      91, and
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      27

      Built-in JavaScript Objects

      JavaScript provides many useful global objects, such as

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      20,
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      43,
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      81, and
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      89

      I shall discuss some commonly used objects here. For detailed specification and examples about a built-in object, check "Core JavaScript References"

      Creating an Object via Constructor and the
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      47 Operator

      All the built-in objects define a so-called constructor, which is a special method having the same name as the object, for creating new instances. To invoke the constructor, you need to use a special

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      47 operator

      For example, the

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      43 object has a constructor method called
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      79. To construct a new instance of
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      43 object

      The
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      31 and
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      24 Operators

      As seen from the above examples, the

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      31 operator returns the type of a value, which can be a primitive type (such as number, string, boolean) or object (including function)

      The

      for ( initialization ; test ; post-processing ) {
         body ;
      }
      24 operator check if the value is an instance of a class

      The
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      43 and
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      86 Methods

      The following methods are available to all built-in JavaScript objects

      • toString(). returns a string description about this object
      • valueOf(). converts this object to a primitive value such as
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        74

      The
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      20 Object and Associative Arrays

      For an introduction to arrays, read the "" section

      Nowadays, we usually create an array via Array Initializer in the form of

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      84. Nonetheless, as arrays are objects of class
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      20, we could also construct an array by invoking the
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      91 constructor with the
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      47 operator. This is more complex and, hence, less commonly used today (but may show up in old codes and books)

      For example,

      An Associative Array is a Generic "Object", not an "Array" Object

      For an introduction to arrays, read the "" section

      JavaScript does not really support associative array, but allow you to add properties to an object, using the associative array syntax and index operator. In other words,

      Using an Array Object for Associative Array

      In JavaScript, we usually create an associative array using a generic object (via the Object Initializer). You can also create an associative array via

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      20 constructor. For examples,

      In this case, additional properties are added into an

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      20 object as object's properties. The array has
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      93 of 0, as
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      93 reflects only the numerical indexes. Using an array object for associative array is not recommended. I describe here for completeness

      The
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      81 Object vs
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 Primitive Type

      JavaScript provides primitive

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 type. It also provide a
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      81 class as a wrapper class for primitive
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30. Read "" for primitive
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30

      A string can be created in two ways

      1. directly assigned a string literal in the form of
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        03 or
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        04 to a variable, resulted in a
        
        
        
        
          
          JavaScript Example: Variables and functions prompt() and confirm()
          
        
        
          

        Welcome to JavaScript!

        30 primitive
      2. invoke the
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        81 object constructor to construct a
        
        
        
        
          
          JavaScript Example: Loop
        
        
          

        Testing Loop

        81 object

      For examples,

      The former is a primitive

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30, while the latter is a
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      81 object

      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      81 object is a wrapper for primitive string, which provides many useful methods for manipulating strings. See ""

      A

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      30 primitive is "auto-box" to a
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      81 object, when you invoke a
      
      
      
      
        
        JavaScript Example: Loop
      
      
        

      Testing Loop

      81 object's methods. For example,

      The
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      89 Object vs
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74 Primitive Type

      JavaScript provides primitive

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74 type. It also provide a
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      89 class as a wrapper class for primitive
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74. Đọc "" cho nguyên thủy
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74

      The

      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      89 object is a wrapper object for primitive
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74, which provides many properties and methods. Again, a
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      74 primitive is auto-box to a
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      89 object, when you invoke a
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      89 object's operation. See ""

      The
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      25 Object vs boolean
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      26 Type

      JavaScript provides primitive

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      78 type. It also provide a
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      25 class as a wrapper class for primitive
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      78. Read "" for primitive
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      78

      The

      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      25 object is a wrapper object for primitive
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      78, which provides many properties and methods

      The
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      43 Object

      Commonly-used constructors

      • new Date(). constructs a
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        43 object with the current date and time
      • new Date(dateTimeStr). constructs a
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        43 object with the given date-time string in an acceptable form (e. g. , "Month, day, year, hours. minutes. seconds")
      • new Date(year, Month, day). where month is 0-11 for Jan to Dec
      • new Date(year, Month, day, hours, minutes, seconds, milliseconds)

      Commonly-used methods

      • My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        62, setDate(), getMonth(), setMonth(), getFullYear(), setFullYear(). get/set the date (1-31), month (0-11 for Jan to Dec), year (4-digit year)
      • getDay(). get the day of the week (0-6 for Sunday to Saturday)
      • getHours(), setHours(), getMinutes(), setMinutes(), getSeconds(),
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        37. lấy/đặt giờ/phút/giây
      • getTime(), setTime(). lấy/đặt số mili giây kể từ ngày 1 tháng 1 năm 1970, 00. 00. 00

      Đối tượng
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      38

      Thuộc tính thường dùng

      • E, PI. Hằng số Euler và
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        39
      • LN2, LN10, LOG2E, LOG10E. ln(2), ln(10), log2(e), log10(e)
      • SQRT2, SQRT1_2. căn bậc hai của 2 rưỡi

      Commonly-used methods

      • cơ bụng(x)
      • sin(a), cos(a), tan(a), asin(x), acos(x), atan(x), atan2(x,y)
      • ô(x), sàn(x), tròn(x)
      • exp(x), log(x), pow(base,exp), sqrt(x)
      • max(x,y), min(x,y)
      • random(). returns a pseudo-random number between 0 and 1

      The
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      40 Object

      For an introduction to functions, read "" section

      Every function in JavaScript is actually a

      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      40 object

      Function Variable

      Một biến có thể được gán một đối tượng

      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      40 (được gọi là biến hàm), nhận một loại đối tượng đặc biệt có tên là
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      88. [In JavaScript, an object's type is either
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      88 (for
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      40 object) or
      
      
      
      
        
        JavaScript Example: Variables and functions prompt() and confirm()
        
      
      
        

      Welcome to JavaScript!

      20 (for any object not a
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      40). ]

      For example,

      Anonymous Function

      If a function is called only once, you can use an anonymous function, omitting the function name. Anonymous functions are commonly-used as event handler, e. g. ,

      You can define a inline (anonymous) function and assign it to a variable as follows

      Function Constructor

      Besides using

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      88 keyword, you can also use the
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      40 constructor (with
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      47 operator) to define a
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      40 object. This is not easily understood and, hence, not recommended

      The syntax for

      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      40 constructor is

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      0

      The
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      53 object

      Formatting Console Output

      console. log('formattingStr', arg1, arg2, . ). You can use C's

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      14-like syntax with format specifiers (such as
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      55,
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      56,
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      57) to format the output string

      You can use %c to apply CSS rules, e. g. ,

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      1
      Logging Methods

      JavaScript supprots 5 levels of logging, in the order of severity

      1. console. error()
      2. console. warn()
      3. console. log()
      4. console. info()
      5. console. debug()
      More Debugging Methods
      • console. trace(). print the current stack trace
      • console. dir(). displays an interactive list of the properties of the specified JavaScript object
      • console. dirxml(). displays in XML the properties of the specified JavaScript object
      • console. assert(). writes an error message to the console if the assertion is false; otherwise do nothing
      Time Measurements
      • console. time([label]). starts a new timer
      • console. timeEnd([label]). ends the timer and returns the time in milliseconds since the timer starts
      • console. timeLog([label]). returns the elapsed time since the timer started

      More on Objects

      dựa trên nguyên mẫu so với. Class-based OO

      JavaScript's OO is prototype-based, instead of class-based like Java/C++/C#

      A class-based OO language (such as Java/C++/C#) is founded on concepts of class and instance. A class is a blue-print or template of things of the same kind. An instance is a particular realization of a class. For example, "

      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      58" is a class; and "
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      59" and "
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      60" are instances of the "
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      58" class. In a class-based OO language, you must first write a class definition, before you can create instances based on the class definition. The instances created have exactly the same properties and methods as the class - no more, and no less

      On the other hand, a prototype-based OO language (such as JavaScript) simply has objects (or instances). A new object can be constructed based on an existing object as prototype. There is no class definition, and hence, they are also called class-less OO languages

      In JavaScript

      • Every JavaScript object has a prototype. The prototype is also an object. A JavaScript object is created from a prototype object and gets its initial properties from the prototype
      • Every JavaScript object has an internal property called
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        62, which holds its prototype object. When you define a new object, its
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        62 is set to a built-in object called
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        64. In other words, the new object uses
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        64 as its prototype, and gets its initial properties from
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        64. The
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        62 property is not enumerable, i. e. , it would not shown up in the
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        77 loop
      Example. Nguyên mẫu đối tượng

      Notes

      • Prototype Chain. In the above example,
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        69's prototype is
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        64, whose prototype is
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        21. This form a prototype chain of
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        72.
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        69 defines two own properties.
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        74 and
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        75. When you invoke
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        76, which cannot be found in
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        69, but found in its prototype
      • Object. getPrototypeOf(obj). Instead of using
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        78 property used in above example, which is NOT in the official JavaScript specification, you should use
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        79 method to get the prototype of an object

      Xác định các đối tượng tùy chỉnh của riêng bạn thông qua một Constructor

      In JavaScript, you can create your own custom objects by defining a constructor. A constructor is simply a function, which can be invoked via the

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      47 operator to create and initialize new objects. Recall that JavaScript is prototype-based and class-less. A new object is created from a prototype object, and gets its initial properties from this prototype object. The constructor function provides the prototype to create and initialize new instances (to be explained later)

      By convention, a constructor name begins with an uppercase letter

      Keyword
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      09

      "

      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      09" refers to the current object.
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      83 refers to the property of this object

      Example. Object Constructor Function

      Let us define a constructor for our custom

      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      84 objects, with properties
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      74,
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      86,
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      87 and
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      88

      Làm thế nào nó hoạt động?
      1. Properties (including methods) are declared inside the constructor via
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        83, which can then be initialized
      2. Methods can be declared inside the constructor via
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        90. There are a few ways to provide the method's definition
        1. Define an ordinary
          My First JavaScript says
          

          Hello world, again!

          This document was last modified on mm/dd/yyyy hh:mm:ss.

          88, and assign the
          
          
          
          
            
            JavaScript Example: User-defined function and onclick Event Handler
            
          
          
            

          Example on event and user-defined function

          92 (without parentheses, which is a
          My First JavaScript says
          

          Hello world, again!

          This document was last modified on mm/dd/yyyy hh:mm:ss.

          88 type) to
          
          
          
          
            
            JavaScript Example: User-defined function and onclick Event Handler
            
          
          
            

          Example on event and user-defined function

          90, as in the
          
          
          
          
            
            JavaScript Example: User-defined function and onclick Event Handler
            
          
          
            

          Example on event and user-defined function

          88
        2. Assign
          
          
          
          
            
            JavaScript Example: User-defined function and onclick Event Handler
            
          
          
            

          Example on event and user-defined function

          90 to an inline function, as in the
          
          
          
          
            
            JavaScript Example: User-defined function and onclick Event Handler
            
          
          
            

          Example on event and user-defined function

          87
        3. Invoke the
          
          
          
          
            
            JavaScript Example: User-defined function and onclick Event Handler
            
          
          
            

          Example on event and user-defined function

          40 constructor with
          My First JavaScript says
          

          Hello world, again!

          This document was last modified on mm/dd/yyyy hh:mm:ss.

          47 operator (rarely-used).
          
          
          
          
            
            JavaScript Example: The Date object
            
          
          
          
          2
      3. To invoke a method, use
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        00
      4. The
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        43 is a special method, which returns a string description of this object. The
        
        
        
        
          
          JavaScript Example: The Date object
          
        
        
        
        43 will be implicitly invoked if an object is passed into the
        for ( initialization ; test ; post-processing ) {
           body ;
        }
        9,
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        56 or
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        00 operator (like Java)

      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      62 and
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      07

      Xem lại Toán tử
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      47

      In JavaScript, the new constructor(args) call does the followings

      1. Create a new generic object using built-in root
        for ( initialization ; test ; post-processing ) {
           body ;
        }
        16 as prototype
      2. Assign this newly created object to
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        09 variable
      3. Run the constructor function, which typically adds properties to
        alert('hello, world')
        document.write('hello world, again')
        console.log('hello world, again and again')
        09
      4. Set the internal property
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        62 to
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        13 (in the above example,
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        14). The
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        62 property is not enumerable (i. e. , it would not shown up in the
        if ( condition-1 ) {
           block-1 ;
        } else if ( condition-2 ) {
           block-2 ;
        } else if ( condition-3 ) {
           block-3 ;
        ......
        ......
        } else {
           block-n ;
        }
        77 loop). It is used to maintain the so called "prototype chain" of the objects
      5. Return the newly created object

      Take note that you can invoke the constructor function WITHOUT the

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      47 operator, e. g. ,
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      18. In this case, the constructor will be run as per ordinary function. There will not be any association of
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      09 and
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      62 properties; and the return value will depend on the function codes

      Try tracing the object created in the above example via Chrome's Developer Tools, which could display the

      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      62 internal property

      Another Example
      Tài sản
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      07 của nhà xây dựng

      Tất cả các đối tượng hàm tạo JavaScript (thực tế là tất cả các đối tượng hàm) đều có một thuộc tính đặc biệt gọi là

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      07. Theo mặc định, nó chứa một đối tượng có thể được sử dụng làm nguyên mẫu để tạo đối tượng mới

      Trong ví dụ về

      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      84, hàm khởi tạo
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      84 có một
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      14, giữ một đối tượng
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      84 được sử dụng làm đối tượng nguyên mẫu. Khi một đối tượng
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      84 mới được tạo thông qua toán tử
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      47, thuộc tính
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      62 của đối tượng mới được tạo được đặt thành
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      14

      Thêm các thuộc tính được chia sẻ vào thuộc tính
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      07 của Constructor

      Hàm tạo_______34_______07 được sử dụng để triển khai các thuộc tính dùng chung (thường là các phương thức dùng chung) cho tất cả các đối tượng mà nó tạo nguyên mẫu. Trong JavaScript, bạn có thể tự động thêm các thuộc tính trong thời gian chạy vào

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      07. Các thuộc tính/phương thức được thêm vào sẽ có sẵn cho tất cả các đối tượng (đối tượng mới cũng như hiện có). Ví dụ,

      Khi bạn tham chiếu một thuộc tính, trước tiên, JavaScript sẽ kiểm tra xem thuộc tính đó có tồn tại cục bộ (hoặc thuộc tính sở hữu không); . Nhớ lại rằng cuộc gọi

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      36 đặt
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      62 thành
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      13. Do đó, các thuộc tính được thêm vào
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      13 có sẵn cho (và được chia sẻ bởi) tất cả các đối tượng được tạo nguyên mẫu bởi hàm tạo này

      Trong thực tế, chúng tôi định nghĩa các phương thức (và các biến tĩnh) trong

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      13 để được chia sẻ bởi tất cả các đối tượng;

      Tra cứu chuỗi nguyên mẫu

      Objects in JavaScipt form prototype chains. Trong ví dụ trên, một chuỗi nguyên mẫu là

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      41

      Khi bạn tham chiếu một thuộc tính đối tượng, JavaScript sẽ làm theo các bước sau để định vị thuộc tính

      1. Kiểm tra xem thuộc tính có tồn tại cục bộ không (i. e. , tài sản riêng)
      2. Nếu không, hãy kiểm tra thuộc tính
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        62. Điều này tiếp tục đệ quy lên chuỗi nguyên mẫu. Quá trình này được gọi là "tra cứu trong chuỗi nguyên mẫu"

      Do đó, trong ví dụ trên, tất cả các thuộc tính trong

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      14 và
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      64 được kế thừa bởi
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      45

      for ( initialization ; test ; post-processing ) {
         body ;
      }
      24 Người điều hành

      Mọi đối tượng đều có thuộc tính đối tượng

      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      62 (ngoại trừ
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      16); . Vì vậy, các đối tượng có thể được liên kết bằng 'kế thừa nguyên mẫu' với các đối tượng khác. Bạn có thể kiểm tra tính kế thừa bằng cách so sánh
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      62 của một đối tượng với
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      07 của hàm tạo. JavaScript cung cấp lối tắt. toán tử
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      24 kiểm tra một đối tượng dựa trên một hàm và trả về
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      26 nếu đối tượng kế thừa từ nguyên mẫu hàm. For example,

      [LÀM]

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      54

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      54 cho phép bạn tạo một đối tượng mới dựa trên đối tượng nguyên mẫu đã cho. Nó chỉ đơn giản là đặt
      
      
      
      
        
        JavaScript Example: User-defined function and onclick Event Handler
        
      
      
        

      Example on event and user-defined function

      62 cho đối tượng nguyên mẫu đã cho, để tất cả các thuộc tính của nguyên mẫu có sẵn cho đối tượng mới. Sử dụng
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      54, Bạn KHÔNG cần xác định hàm tạo và chạy
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      58 để tạo đối tượng mới

      Kế thừa thông qua Prototype Chain

      Bạn có thể triển khai kế thừa trong JavaScript thông qua chuỗi nguyên mẫu. Ví dụ,

      Làm thế nào nó hoạt động

      [LÀM]

      Getter và Setter

      Trong các ngôn ngữ như Java, bạn có thể khai báo một biến là

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      59 và định nghĩa trình getter/setter
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      60 để truy cập biến
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      59. JavaScript không thực sự hỗ trợ truy cập
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      59?. Nhưng bạn cũng có thể định nghĩa các phương thức thông thường
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      63 hoặc
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      64 là getter/setter như Java

      Ngoài ra, trong JavaScript, bạn có thể định nghĩa getter/setter là thuộc tính thay vì phương thức theo một trong hai cách sau

      1. thông qua các chức năng tích hợp sẵn
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        65 hoặc
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        66;
      2. bên trong "trình khởi tạo đối tượng" thông qua các từ khóa
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        67 và
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        68
      Example 1. Xác định Getters/Setters qua
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      65 hoặc
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      66

      Notes

      1. 
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        71 cho phép bạn xác định nhiều thuộc tính;
      2. Bạn gọi các thuộc tính getters/setters giống như toán tử gán, thay vì thông qua lệnh gọi hàm
      ví dụ 2. Xác định Getter/Setter bên trong Trình khởi tạo đối tượng

      Notes

      1. getter/setter được xác định bên trong Trình khởi tạo đối tượng thông qua các từ khóa
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        67 và
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        68 với một cú pháp khá lạ, như trong ví dụ

      Thuộc tính của
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      16

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      76

      Tất cả các đối tượng JavaScript được thừa hưởng một thuộc tính đặc biệt có tên là

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      77, thuộc tính này chứa tham chiếu đến hàm đã tạo đối tượng. Ví dụ,

      [TODO] thêm thuộc tính của đối tượng

      API mô hình đối tượng tài liệu (DOM) cho JavaScript

      Mô hình đối tượng tài liệu (DOM), là một API tiêu chuẩn cho phép các lập trình viên truy cập và thao tác nội dung của tài liệu HTML/XHTML/XML một cách linh hoạt bên trong chương trình của họ. Nó mô hình hóa tài liệu HTML/XHTML/XML dưới dạng cấu trúc dạng cây, hướng đối tượng, được gọi là cây DOM, bao gồm các nút giống như các thẻ (phần tử) và nội dung. DOM cũng cung cấp giao diện để xử lý sự kiện, cho phép bạn phản hồi hành động của người dùng hoặc trình duyệt

      API DOM được triển khai bằng nhiều ngôn ngữ như Java, JavaScript, Perl và ActiveX. Đặc tả DOM API được duy trì bởi W3C. DOM có nhiều cấp độ khác nhau

      • DOM Level 0 (DOM0) (Pre-W3C). lỗi thời
      • DOM Cấp 1 (DOM1) (W3C tháng 10 năm 1998). lỗi thời
      • DOM Cấp 2 (DOM2) (W3C tháng 11 năm 2000) và DOM Cấp 2 HTML (HTML DOM2) (W3C tháng 1 năm 2003)
      • DOM Cấp 3 (DOM3) (W3C tháng 4 năm 2004). chưa được hỗ trợ đầy đủ bởi các trình duyệt

      jQuery tốt hơn nhiều trong việc chọn và thao tác phần tử DOM. Bạn nên sử dụng jQuery trong sản xuất. Tôi giữ những phần này ở đây cho đầy đủ

      Tìm và chọn phần tử

      Trong JavaScript, chúng tôi thường sử dụng API DOM để chọn các thành phần trong tài liệu hiện tại, để truy cập hoặc thao tác nội dung của chúng. Các chức năng được sử dụng phổ biến nhất là

      HàmMô tảVí dụ_______34_______78Trả về phần tử với giá trị duy nhất đã cho
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      19.
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      3_______34_______80Trả về một mảng các phần tử với tên thẻ đã cho.
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      4
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      81Returns an array of elements with the given
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      82 attribute name.
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      5
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      83Trả về một mảng các phần tử với thuộc tính
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      33 đã cho.
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      6

      Bạn có thể sử dụng ký tự đại diện

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      85 trong
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      86 để chọn tất cả các phần tử, e. g. ,

      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      7

      Các chức năng trên chọn (các) phần tử dựa trên thuộc tính duy nhất

      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      19,
      for ( initialization ; test ; post-processing ) {
         body ;
      }
      33 và tên thẻ. HTML 5 định nghĩa thêm hai hàm có thể chọn các phần tử dựa trên thuộc tính
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      82 (được CSS sử dụng rộng rãi trong bộ chọn lớp)

      HàmMô tảVí dụ_______34_______90Trả về phần tử đầu tiên với thuộc tính
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      82 đã cho.
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      8
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      92Trả về một mảng các phần tử với thuộc tính
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      82 đã cho.
      
      
      
      
        
        JavaScript Example: The Date object
        
      
      
      
      8

      Ngoài các chức năng lựa chọn trên, có nhiều chức năng lựa chọn khác có sẵn. Tuy nhiên, tôi thực sự khuyên bạn nên sử dụng các chức năng trên. Tôi liệt kê bên dưới chức năng khác bên dưới cho đầy đủ

      1. 
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        94 trả về một mảng gồm tất cả các phần tử
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        95, giống như
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        96
      2. 
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        97. trả về một mảng các phần tử
      3. 
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        98 và
        
        
        
        
          
          JavaScript Example: Events onload, onmouseover and onmouseout
          
        
        
          

        "Hello" alert Box appears after the page is loaded.

        Point your mouse pointer here!!!

        99. trả lại tất cả các siêu liên kết
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        6và các phần tử neo
        
        
        
        
          
          JavaScript Example: User-defined function and onclick Event Handler
          
        
        
          

        Example on event and user-defined function

        6. [Xác nhận. ]

      Manipulating Element's Content through the
      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      42 Property

      Bạn có thể truy cập và sửa đổi nội dung của một phần tử thông qua thuộc tính "_______57_______42", chứa tất cả các văn bản (bao gồm các thẻ lồng nhau) trong phần tử này

      For example,

      "______57_______42" là cách thuận tiện nhất để truy cập và thao tác nội dung của một phần tử. Tuy nhiên, nó không phải là một tiêu chuẩn W3C, nhưng nó được hầu hết các trình duyệt hỗ trợ

      Cây DOM và nút

      W3C khuyên bạn nên truy cập và thao tác các phần tử HTML thông qua cây DOM và các nút. Tuy nhiên, nó thực sự là quá mức cần thiết để viết các JavaScript đơn giản. Tôi trình bày chúng ở đây một lần nữa cho đầy đủ

      Khi một trình duyệt tải một trang HTML, nó sẽ xây dựng mô hình DOM một trang web theo cấu trúc giống như cây phân cấp bao gồm các nút, giống như cấu trúc HTML của nó

      Một ví dụ về tài liệu HTML với cây DOM tương ứng được đưa ra sau. Hãy lưu ý rằng nội dung văn bản của một phần tử được lưu trữ trong một nút Văn bản riêng biệt

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      0
      Giải thích bao đóng trong php là gì và tại sao nó lại sử dụng mã định danh “sử dụng”?

      Tải trang web lên Firefox và sử dụng firebug để kiểm tra cây DOM.

      Cây DOM bao gồm các loại nút sau

      1. nút tài liệu. nút gốc đại diện cho toàn bộ tài liệu HTML
      2. nút phần tử. đại diện cho một phần tử HTML (hoặc thẻ). Một nút phần tử có thể có các nút con, có thể là nút phần tử hoặc nút văn bản. Element node may also have attributes
      3. nút văn bản. chứa nội dung văn bản của một phần tử
      4. Khác. chẳng hạn như nhận xét, thuộc tính

      Một nút DOM có các thuộc tính này

      • My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        005. chứa tên của nút, chỉ đọc.
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        005 cho nút Phần tử là tên thẻ;
      • My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        011. chứa giá trị của nút.
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        011 cho nút Văn bản là văn bản được chứa;
      • My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        014. một số nguyên cho biết loại nút, e. g. , Phần tử (1), Thuộc tính (2), Văn bản (3), Nhận xét (8), Tài liệu (9)
      • My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        015. tham chiếu đến nút cha. Chỉ có một nút cha trong cấu trúc cây
      • My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        016. mảng (hoặc danh sách nút) của các nút con
      • My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        017,
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        018. reference to the first and last child node
      • My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        019,
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        020. tham chiếu đến anh chị em trước và sau trong cùng cấp độ

      Lưu ý sự khác biệt giữa thuật ngữ số ít và số nhiều. Ví dụ:

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      015 đề cập đến nút cha (mỗi nút ngoại trừ nút gốc có một và chỉ một nút cha),
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      016 chứa một mảng gồm tất cả các nút con

      Nút gốc của cây DOM được gọi là

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      6. Nút gốc
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      6 chỉ có một nút con, được gọi là
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      025, đại diện cho thẻ và nó đóng vai trò là cha của hai nút con đại diện và thẻ, từ đó sẽ có các nút con khác. Bạn cũng có thể sử dụng thuộc tính đặc biệt có tên là
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      026 để truy cập trực tiếp vào thẻ

      Ví dụ: bạn có thể sử dụng thuộc tính nút sau để truy cập nút Văn bản

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      027 trong ví dụ trên

      Thí dụ

      JavaScript sau liệt kê tất cả các nút trong phần, theo cách tìm kiếm chuyên sâu, thông qua hàm đệ quy

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      1
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      2

      Việc truy cập phần tử HTML thông qua giao diện Node có thể không quá hữu ích cũng như không thực tế đối với các ứng dụng JavaScript, vì bạn cần biết cấu trúc tô pô thực tế của cây DOM. Hơn nữa, một số trình duyệt (e. g. , firefox) có thể tạo thêm các nút Văn bản để chứa khoảng trắng giữa các thẻ

      Text Node

      DOM mô hình hóa các văn bản được bao quanh bởi các thẻ HTML dưới dạng một nút văn bản riêng biệt. Nó không thể có nút con. Để truy xuất nội dung văn bản, bạn có thể thuộc tính

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      011. Ví dụ,

      thuộc tính thuộc tính

      Để truy cập thuộc tính của nút Phần tử có tên là

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      029, bạn có thể sử dụng

      • thuộc tính
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        030, trong đó
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        031 là tên của thuộc tính, hoặc
      • phương pháp
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        032 và
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        033

      For example,

      Thuộc tính
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      034 (đối với CSS)

      Phần tử có một thuộc tính được gọi là kiểu, mô hình hóa kiểu CSS với các thuộc tính CSS như

      alert('hello, world')
      document.write('hello world, again')
      console.log('hello world, again and again')
      07 và
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      036. Ví dụ,

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      3

      Thao túng các nút

      Một đối tượng Node có các chức năng này

      • My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        037. trả về
        My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        26 nếu nút này có ít nhất một nút con
      • Thao tác nút con
        • My First JavaScript says
          

          Hello world, again!

          This document was last modified on mm/dd/yyyy hh:mm:ss.

          039. chèn một nút trước một nút con hiện có
        • My First JavaScript says
          

          Hello world, again!

          This document was last modified on mm/dd/yyyy hh:mm:ss.

          040. thay thế một nút con hiện có
        • My First JavaScript says
          

          Hello world, again!

          This document was last modified on mm/dd/yyyy hh:mm:ss.

          041. xóa nút con đã chỉ định
        • My First JavaScript says
          

          Hello world, again!

          This document was last modified on mm/dd/yyyy hh:mm:ss.

          042. nối thêm nút đã cho làm nút con cuối cùng
      • My First JavaScript says
        

        Hello world, again!

        This document was last modified on mm/dd/yyyy hh:mm:ss.

        043______44_______044
      Tạo một phần tử mới (_______44_______045) và Nút văn bản (
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      046), Nối một nút (
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      047)

      Để tạo nút văn bản mới, bạn có thể sử dụng

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      048 để tạo một nút văn bản độc lập, tiếp theo là
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      049
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      050 để nối nút văn bản vào một phần tử

      Tương tự, bạn có thể sử dụng

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      051 để tạo một phần tử độc lập, theo sau là một
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      052 để nối phần tử đã tạo vào một phần tử hiện có

      Ví dụ, chúng ta sẽ tạo một nút văn bản mới, như một nút con của một nút mới.

      yếu tố. Sau đó chúng ta sẽ nối cái mới

      phần tử là phần tử con cuối cùng của

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      4
      Chèn một nút mới (
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      053)
      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      4
      Thay thế một nút (
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      054)

      Change the last line to

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      055

      Xóa một nút (
      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      056)

      Bạn có thể xóa nút con khỏi nút cha thông qua

      My First JavaScript says
      

      Hello world, again!

      This document was last modified on mm/dd/yyyy hh:mm:ss.

      057

      Ví dụ: hãy loại bỏ cuối cùng

      từ

      if ( condition-1 ) {
         block-1 ;
      } else if ( condition-2 ) {
         block-2 ;
      } else if ( condition-3 ) {
         block-3 ;
      ......
      ......
      } else {
         block-n ;
      }
      6

      Đối tượng
      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      6

      Đối tượng

      
      
      
      
        
        JavaScript Example: Events onload, onmouseover and onmouseout
        
      
      
        

      "Hello" alert Box appears after the page is loaded.

      Point your mouse pointer here!!!

      6 là nút gốc của cây DOM. Nó có thể được sử dụng để truy cập tất cả các phần tử trong trang HTML

      Bao đóng trong PHP là gì?

      Lệnh đóng là một hàm ẩn danh có thể truy cập các biến được nhập từ phạm vi bên ngoài mà không cần sử dụng bất kỳ biến toàn cục nào . Về mặt lý thuyết, bao đóng là một hàm có một số đối số đóng (e. g. cố định) bởi môi trường khi nó được xác định. Các bao đóng có thể hoạt động xung quanh các hạn chế phạm vi thay đổi theo cách rõ ràng.

      Closure là gì và tại sao chúng lại hữu ích với chúng ta như vậy?

      Một bao đóng là sự kết hợp của một hàm được nhóm lại với nhau (kèm theo) với các tham chiếu đến trạng thái xung quanh của nó (môi trường từ vựng). Nói cách khác, một bao đóng cho phép bạn truy cập vào phạm vi của hàm bên ngoài từ một hàm bên trong .

      Lớp đóng PHP là gì?

      Lớp Closure ¶ . Các hàm ẩn danh mang lại các đối tượng thuộc loại này. Lớp này có các phương thức cho phép kiểm soát thêm chức năng ẩn danh sau khi nó được tạo. Ngoài các phương thức được liệt kê ở đây, lớp này còn có một phương thức __invoke. Class used to represent anonymous functions. Anonymous functions yield objects of this type. This class has methods that allow further control of the anonymous function after it has been created. Besides the methods listed here, this class also has an __invoke method.

      Loại tham số nào được đóng trong PHP?

      Về cơ bản, bao đóng trong PHP là một hàm có thể được tạo mà không cần tên cụ thể - một hàm ẩn danh. Đây là hàm đóng được tạo làm tham số thứ hai của array_walk(). Bằng cách chỉ định tham số $v làm tham chiếu, người ta có thể sửa đổi từng giá trị trong mảng ban đầu thông qua hàm đóng.