js数学小知識の巧みな取り反

1178 ワード

逆取りといえば、bootleanタイプに対する操作が一般的であり、javaScriptで論理trueやfalseを処理する場合、デフォルトでbootlean値に変換される場合が多く、例えば'a'、1、{}などはtrueとして扱われ、''、0、NaNなどはfalseとして処理される.一般的に逆をとる場合は、!演算子を使って動作します.例えば、
var boo = false;
console.log(!boo,!!boo);
明らかに、出力の結果はtrue falseであるが、実際の開発過程では、常にいくつかの奇妙な状況が発生し、すべての識別子がちょうどbootlean値であるわけではない.例えば、ラベル上でユーザー定義の属性値が入手可能なときに文字列である.このようにすれば、stringタイプの'false'をbootanタイプのfalseとして処理することができる.もちろん論理に合わないです.他の方法で論理判断ができますか?もちろんいいです.前に述べた1、0はそれぞれtrue、falseとして利用できます.そして、第二の問題はまた来ました.どうやって1、0に対してお互いに反対の操作をしますか?まず多くの人が思いつきました.
function test (boo){
    if(boo === 1){
        return 0;
    }else if(boo === 0){
        return 1;
    }
}
このように実現してもいいですが、ことわざにもよく言われています.
私たちはいくつかの数学上の関数を使用して、非常に簡単に1、0間の逆取り動作ができます.0の非0乗は0に等しく、任意の実数の0乗は1に等しく、0と1を結合すれば0の0乗は1、0の1乗は0に等しく、0の1乗は0に等しくなります.具体的なコードは以下の通りです
var boo1 = 0;
var boo2 = 1;
console.log(Math.pow(0,boo1));
console.log(Math.pow(0,boo2));
出力の結果はそれぞれ1および0である.どうですか?また一つの詰め込みスキルを身につけましたか?