読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

void(0)

hrefを無効化するときに使う"void(0)"ですが、そんな組み込み関数あったっけ、と思って調べて見た。

→Mozilla developer center - Special Operators - void

リファレンスによると、voidは

  • 右辺の式を実行するが、
  • 式の実行結果を返さない

ようにするための演算子とのこと。予想に反して組み込み関数ではなかった。
なので、

  • hrefを無効化するだけなら、右辺は0じゃなくてもよい。(1でも2でも文字列でもOK)
  • 右辺の式は実行されるので、副作用のある式を指定すると状態が変更されたりする。
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <script type="text/javascript">

  </script>
</head>
<body>
  <ul>
    <li><a href="javascript:void(0);">void(0)</a></li>
    <li><a href="javascript:void(1);">void(1)</a></li>
    <li><a href="javascript:void('hoge');">void('hoge')</a></li>
    <li><a href="javascript:void(alert('!!!'))">void(alert('!!!'))</a></li>
    <li><a href="javascript:void(document.getElementById('out').innerHTML='!!!');">void(document.getElementById('out').innerHTML='!!!')</a></li>
  </ul>
  <div id="out">
  </div>
</body>
</html>

実行結果はこちら