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
である.どうですか?また一つの詰め込みスキルを身につけましたか?