JavaScript - Void关键字

JavaScript 中 void 是一个重要的关键字。它可以用作一个一元运算符,此时它会出现在一个操作数之前,这个操作数可以是任意类型的。

这个操作符指定要计算一个表达式但是不返回值。它的语法可能是下列之一:

  1. <head>
  2. <script type="text/javascript">
  3. <!--
  4. void func()
  5. javascript:void func()
  6. or:
  7. void(func())
  8. javascript:void(func())
  9. //-->
  10. </script>
  11. </head>

例子1

这个运算符最常用在客户端的 javascript: URL 中,在 URL 中可以写带有副作用的表达式,而 void 则让浏览器不必显示这个表达式的计算结果。

这里的 alert(‘Warning!!!’) 表达式被执行了,但是它不会在当前文档处装入任何内容:

  1. <head>
  2. <script type="text/javascript">
  3. <!--
  4. //-->
  5. </script>
  6. </head>
  7. <body>
  8. <a href="javascript:void(alert('Warning!!!'))">Click me!</a>
  9. </body>

为了更好的理解此处内容,你可以自己尝试一下

例子2

另外的一个例子,下面的超级链接并不会做任何事情,因为在 JavaScript 中表达式 “0” 没有任何作用。这里的表达式 “0” 已被计算,但是它并没有在当前文档处装入任何内容:

  1. <head>
  2. <script type="text/javascript">
  3. <!--
  4. //-->
  5. </script>
  6. </head>
  7. <body>
  8. <a href="javascript:void(0))">Click me!</a>
  9. </body>

为了更好的理解此处内容,你可以自己尝试一下

例子3

void 的另一种用法是有意的生成 undefined 值,如下所示:

  1. <head>
  2. <script type="text/javascript">
  3. <!--
  4. function getValue(){
  5. var a,b,c;
  6. a = void ( b = 5, c = 7 );
  7. document.write('a = ' + a + ' b = ' + b +' c = ' + c );
  8. }
  9. //-->
  10. </script>
  11. </head>

为了更好的理解此处内容,你可以自己尝试一下