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が追加されます。 get 100=4
8|3
バイナリに変換した後、1000 |011 を追加して 1011=11 を取得します
など、ここでは 1 つずつ列挙しません。バイナリに変換して加算した結果!
JS 二重縦棒演算子
1. JS 二重縦棒演算子: はいまたは比較。たとえば、null||'1' は '2' を返し、'2' を返します。つまり、OR 演算子では、最初の演算子は true であり、後続の演算子は計算する必要がないため、「2」が得られます。
2. js で二重縦棒演算子「||」を使用して、最初の有効な値を返します
var objOne = unknown || new Date();最初のオペランドが false の場合、2 番目のオペランドは考慮されず、直接 false が返されます。 || の最初のオペランドが true の場合、2 番目のオペランドは考慮されず、直接 true が返されます。 & および | 演算子の場合はそうではありません。結果を得るために常に 2 つのオペランドを比較する必要があるため、&& および || のパフォーマンスは向上します。
関数の使い方
document.write(1 & 0); //JS、結果は 0 です
最初の点で説明したのは、まさに & と | がビット単位の演算子であるため、常に比較する必要があります。これには 2 つのオペランドが必要です結果を取得するため、&& や || よりもパフォーマンスが低下します。