betacode

Ключевое слово void в JavaScript

  1. Ключевое слово void
  2. Void и JavaScript URIs
  3. Функция одноразового использования

1. Ключевое слово void

void является довольно важным ключевым словом в ECMAScript, оно имеет следующие характеристики:
  • void играет роль оператора, предшествующий единственный операнд (single operand) с любым видом.
  • void используется для оценки выражения, он не возвращает никакое значение, или можно сказать он возвращает значение undefined (Неопределенное).
Оператор void предшаествует любое выражение для получения значения 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 и JavaScript URIs

<a href ="javascript:URI">..</a> обычно встречаются в HTML, браузеры оценивают URI и получают значение, которое возвращает URI для заменения содержания на настоящей странице.
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>
Если URI возвращает undefined, браузер не заменяет содержание настоящей страницы.
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. Функция одноразового использования

Обычно вам нужно определить функцию, потом вызвать ее.
function-example.js
// Defind a function
function sayHello()  {
  console.log("Hello Everyone");
}
// Call function
sayHello();
В следующем примере показано, как создать функцию только для одноразового использования. Она называется немедленной. Вы не сможете использовать эту функцию где-либо еще в программе, потому что она не существует после использования.
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
}
Вы также можете создать функцию для использования только один раз с ключевым словом void. Она вызывается немедленно и больше не существует после вызова.
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
}

Pуководства ECMAScript, Javascript

Show More