ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript_javascriptスキルにおける2つの感嘆符の機能の説明

JavaScript_javascriptスキルにおける2つの感嘆符の機能の説明

WBOY
WBOYオリジナル
2016-05-16 17:57:571373ブラウズ

簡単な例を使用して説明します。

コードをコピー コードは次のとおりです:

var o={ flag:true};
var test=!!o.flag;// var test=o.flag||false; と同等

null と unknown に対して ! 演算子を使用すると true の結果が生成されるため、2 つの感嘆符を使用する目的は、o のフラグの値が明示的に設定されている場合 (null/unknown/0""/ などではない) であるためです。 )、自然なテスト o.flag と同じ値を取ります。設定されていない場合、テストはデフォルトで null または未定義ではなく false になります。
jQuery の典型的な例は次のとおりです: (jQuery 1.7.0.js: 748 行目)

コードをコピー コード以下のように:
grep: function(elems, callback, inv) {
var ret = [], retVal;
inv = !!inv; / 配列を調べて、検証関数
for ( var i = 0, length = elems.length; i < length; i ) {
retVal = ! を渡す項目のみを保存します
// ! callback( elems[ i ], i );
if ( inv !== retVal ) {
ret.push( elems[ i ] );

return ret;
}


grep 関数を使用する場合、3 番目のパラメーターが指定され、null/未定義/0""/ でない場合、inv は true になり、それ以外の場合は false になります。この目的は、後の判断を容易にするために、inv と retVal の値が他の値ではなく true/false からのみ取得できるようにすることです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。