3

編集: 明確にするために: 私の質問は void の使用方法には関係ありませんが、void が本当に役立つかどうかには関係ありません。人々がそれを使用する方法が非常に不快であるように見えるので、私はこれを求めています...

オペレーターのMDN リファレンスvoid、使用中のオペレーターの例を示しています

<a href="javascript:void(0);">Click here to do nothing</a>
<a href="javascript:void(document.body.style.backgroundColor='green');">Click here for green background</a>

現在のクリック イベントの処理方法とはまったく異なります。

voidこの世に居場所はありますか?誰かが void を使用する良い例を教えてもらえますか?

4

4 に答える 4

5

ユースケース #1 void(0): 実数への参照が必要な場合undefined(変数だけでなく、上書きされる可能性があるため) は必要ありませんvoid。代わりに次のように取得できます(function(){}())

使用例 #2 void(exp): コードを実行して を返したい場合はundefined、コードを関数でラップすることでもちろん実行できます: (function(){ exp; return undefined; }())

いいえ、必要ありませんvoid。ユニークなことは何もしません。ただし、上記のソリューションよりも短いため、短くてあいまいなコードを好む場合は、それを使用できます (ただし、使用しないでください)。

于 2012-10-21T14:27:12.940 に答える
2

Jakob は、 の実用的な使用例をいくつか示していますvoid。ただし、彼が言及しているように、実際にvoidは必須ではありませんが、テストに使用していundefinedます。これを使用して独自のtypeOf関数を作成します。

function typeOf(value) {
    if (value === null) return "null";
    if (value === void(0)) return "undefined";
    return Object.prototype.toString.call(value).slice(8, -1).toLowerCase();
}

私がそうする理由をここで読むことができます。

于 2012-10-21T15:39:59.860 に答える
1

undefinedvoidは、ブラウザが新しいページをロードできないように値を返すために使用される演算子です。void演算子について注意すべき重要な点は、値が必要であり、単独では使用できないことです。

例:-

 <a href="javascript: void(0)">I am a link</a>

Ouput:-

 I am a link
于 2012-10-21T14:20:12.893 に答える
0

void(0)は「未定義」を返すために使用され、そこに「未定義」とだけ書き込むことができます。また、そのjavascript:をhref属性で使用しないでください。これは非常に古く、javascriptが無効になっているユーザーには機能しないためです。誰かがこれを新しいウィンドウで開くと、javascript:showPopup(27);のようなものが表示されます。

于 2012-10-21T14:19:58.317 に答える