• 締切済み

ブックマークレット勉強中 javascript:void

javascriptの入門書を2さつよみました。 そこでブックマークレットをつくっています。 javascript:void(document.body.style.lineHeight='1.6em') ↑のようなブックマークレットで、いろいろリファレンスを調べたのですが、void の意味が良く分かりません。 どなたか詳しい意味使い方をおしえてください。 たしかに void の部分がないとうまく機能しないので、必要なのは分かるのですが……

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

void は単項演算子で、与えられた任意の式を実行しますが、結果は廃棄して未定義値を返すというものです。 式を評価してその副作用(効果)だけが必要であるというような場合に使われます。 例えば、何かをクリックしたときにそれを実行したいというときに <a href="javascript:void(document.body.style.lineHeight='1.6em');">改行幅を設定</a> とか書くことができます。 ここでは、改行幅を設定にリンクがあって、それをクリックすると改行幅を設定するということが行われるということをユーザに示したいために、リンクに書いてあるということなのですが、javascriptでは、式自体が値を持つので、 <a href="javascript:document.body.style.lineHeight='1.6em'"> は、 <a href="1.6em"> 代入した結果が使われて というように書いたことになってしまいます。 ここでは、その代入による設定の効果だけが欲しいので、その結果を捨てる必要があります。 そういう場合に、voidを使うと、結果を捨ててくれます。

関連するQ&A