JS 開発アプリケーションでは通常「|」と「||」が使用されますが、操作では「|」と「||」は何を意味するのでしょうか?
jsの整数演算では、parseIntの小数点を削除することに相当します。正の数の場合は Math.floor() と同等、負の数の場合は Math.ceil() と同等です。 注:
1 は切り上げに使用されます。
2. Math.floor() は切り捨てに使用されます。
3. Math.round() 丸めは数学でよく使用されます。
console.log(0.6|0)//0 console.log(1.1|0)//1 console.log(3.65555|0)//3 console.log(5.99999|0)//5 console.log(-7.777|0)//-7
単一の縦棒の操作ルール
上記の例を読んだ後、単一の縦棒は四捨五入できる、つまり、正の部分のみが保持され、小数部分が削除されることが一般的にわかります。 「|0 」では、演算はどのように実行されるのでしょうか? なぜ「|0」で丸めの目的を達成できるのでしょうか?水平バーと垂直バーが 0 でない場合、それは何でしょうか?
これらの質問を踏まえて、次の例を見てみましょう:
console.log(3|4); //7 console.log(4|4);//4 console.log(8|3);//11 console.log(5.3|4.1);//5 console.log(9|3455);//3455
これには単一の縦棒「|」が記述されていますが、JavaScript はありません。
それでは、ここで答えを発表しましょう。実際、単一の縦棒「|」はバイナリに変換された後の加算の結果です。たとえば、簡単な例を見てみましょう:
3|4
バイナリに変換した後、011|100を追加して111=7
4|4
バイナリに変換した後、100|100は次のようになります。 100=4
8|3
を取得するために追加されます。バイナリに変換した後、1000 |011 を追加して 1011=11
を取得します。ここでは 1 つずつ列挙しません。 |" 操作はバイナリに変換した後です。結果を追加してください。
JS 二重縦棒演算子
1. JS 二重縦棒演算子: はいまたは比較。たとえば、null||'1' は '2' を返し、'2' を返します。つまり、OR 演算子では、最初の演算子は true なので、後続の演算子は計算する必要がありません。そのため、「2」が得られます。
2. js で二重縦棒演算子「||」を使用して、最初の有効な値を返します
概要
パフォーマンスの比較
論理演算子 && || の場合、&& の場合、最初のオペランド|| の最初のオペランドが true の場合、2 番目のオペランドは考慮されず、直接 true が返されます。 & および | 演算子の場合はそうではありません。結果を得るために常に 2 つのオペランドを比較する必要があるため、&& および || のパフォーマンスは向上します。
関数の使い方
&&と||は論理演算しか実行できませんが、&と|は「論理演算」だけでなくビット演算も実行できます
&と|は、もともとビット演算子です。 JS は型のない言語なので、& や | を使って「論理演算」を行うと、実際には true は 1、false は 0 に変換されます。
var objOne = undefined || 1 || null || new Date(); var objTwo = new Date(); var objThree = objOne || objTwo; alert(objThree.toString()); //out put "1"
上記の文、例は、論理演算が次のビット演算に変換されて実行されるのと同等です:
document.write(true & false); //JS,结果为0
上記は、JS 演算子の単一の縦棒「|」と「||」の使用法と機能の詳細な説明です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) を参照してください。