openplanning

Từ khóa void trong JavaScript

  1. Từ khóa void
  2. Void và JavaScript URIs
  3. Hàm sử dụng một lần

1. Từ khóa void

void là một từ khóa khá quan trọng trong ECMAScript, nó có các đặc điểm sau:
  • void đóng vai trò là một toán tử, được đặt trước một toán hạng đơn (single operand) với kiểu bất kỳ.
  • void được sử dụng để đánh giá một biểu thức, nó sẽ không trả về một giá trị nào cả, hay nói cách khác nó trả về giá trị undefined (Không xác định).
Toán tử void đặt trước một biểu thức bất kỳ để nhận được một giá trị là undefined.
void-expression-example.js
void console.log("Test1");  // Test1

console.log( void ("Test2") ); // undefined

console.log( void (2 == "2") );  // undefined

console.log( void (2) == "2" ); // false

console.log( void (2) == undefined); // true

2. Void và JavaScript URIs

<a href ="javascript:URI">..</a> thường gặp trong HTML, các trình duyệt sẽ đánh giá URI và lấy giá trị mà URI trả về để thay thế nội dung trên trang hiện tại.
href-javascript-example.html
<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">
      <title>Href Javascript</title>
      <script>
         function getHtmlContentToShow()  {
           console.log("Do something here...");
           alert("Do something here..");
           // Return new HTML content to replace current Page.
           return "<h1 style='color:red;'>Other HTML Content!</h1>";
         }
      </script>

   </head>
   <body>
        <h1>Href:javascript example</h1>

        <a href="javascript:getHtmlContentToShow()">Click me!</a>
   </body>
</html>
Nếu URI trả về undefined trình duyệt sẽ không thay thế nội dung của trang hiện tại.
href-javascript-void-example.html
<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">
      <title>Href Javascript Void</title>
      <script>
         function getHtmlContentToShow()  {
           console.log("Do something here...");
           alert("Do something here..");
           // Return new HTML content to replace current Page.
           return "<h1 style='color:red;'>Other HTML Content!</h1>";
         }
      </script>
   </head>
   <body>
        <h1>Href:javascript void example</h1>
        <a href="javascript:void getHtmlContentToShow()">Click me!</a>
   </body>
</html>

3. Hàm sử dụng một lần

Thông thường bạn cần định nghĩa một hàm, sau đó gọi nó.
function-example.js
// Defind a function
function sayHello()  {
  console.log("Hello Everyone");
}
// Call function
sayHello();
Ví dụ dưới đây chỉ cho bạn cách tạo ra một hàm chỉ để sử dụng một lần duy nhất, nó được gọi ngay lập tức, bạn sẽ không thể sử dụng hàm này ở bất kỳ nơi nào khác trong chương trình vì nó không tồn tại sau khi được sử dụng.
used-once-function-example.js
// Defind a function, and call it.
(function sayHello()  {
  console.log("Hello Everyone");
}) ();

try  {
  // This function does not exist.
  sayHello();
}
catch(e)  {
  console.log(e); // ReferenceError: sayHello is not defined
}
Bạn cũng có thể tạo ra một hàm để sử dụng một lần duy nhất với từ khóa void, nó được gọi ngay lập tức, và cũng không còn tồn tại sau khi được gọi.
void-function-example.js
// Defind a function, and call it.
void function sayHello()  {
  console.log("Hello Everyone");
}();

try  {
  // This function does not exist.
  sayHello();
}
catch(e)  {
  console.log(e); // ReferenceError: sayHello is not defined
}

Các hướng dẫn ECMAScript, Javascript

Show More