14

いつも人が書いているのを見ますvoid(0)が、なぜかっこを使うのかわかりません。私の知る限り、彼らには目的がありません。void関数ではなく、演算子です。では、なぜ人々はパレンを使うのでしょうか?それらは目的を果たしますか?MDNでも、parensが使用されます。

4

3 に答える 3

6

主に他のサイトで使用されているのを見たので、過去に何度も同じ構造を使用したことを認めなければなりません。インライン JavaScript より控えめな JavaScript が好まれるため、私はこれを使用しなくなりました。実際、ページが更新されないようにするために、ほとんどインラインでのみ使用されます。

そうは言っても、あなたが正しく指摘したように、それは関数ではなく演算子です。それがまだ機能する理由は、(0)0が同じものだからです。したがって、次のように評価されます。

void (0);

これは次と同じです:

void 0;

関数呼び出しとして書かれている理由は、インラインで使用すると関数をより快適に感じるからだと思います:)

<a href="javascript:void 0">...</a> // hold on, that can't work, can it?!

<a href="javascript:void(0)">...</a> // ahhh, normality restored
于 2012-12-01T04:58:59.523 に答える
2

「では、なぜ人々は括弧を使うのでしょうか?」

人々はばかげたことをします。

「彼らは目的を果たしていますか?」

いいえ、それらは必要ありません。

于 2012-12-01T04:51:02.013 に答える
2

このリンクはあなたのためにそれを説明します。

これにより明確になることの 1 つは、void は演算子 (関数ではない) であるということです。このため、void(0) は技術的に正しくありませんが、実際の実装ではこのように使用できますが、void 0 などの括弧なしで使用する必要があります。

したがって、技術的に使用するのは間違っていますvoid(0)が、実際には void には 2 つの異なる構文があります。

void (expression)
void expression

MDNは、技術的に正しくないため、2 つの構文に関して明示的な声明は出されていませんが、すでにそのことを伝えています。

礼儀:

于 2012-12-01T04:55:15.210 に答える