JavaScript学習ノートの操作符
3627 ワード
一元操作符
1、自増自減操作子:前型と後置型に分ける.
フロントタイプ:++a;--a;
バックタイプ:a++a--です
例:
2、一元加算操作子:a=+i;a=-i
二、ビット操作子
1、順位別~(NOT)
いいえ、すべての数字をバイナリで反転します.
一般的な使い方:ビット演算NOTは実質的に数字に対してマイナスを求め、その後1を減らす.
2、位または124(OR)
あるいは、すべての数字と目標数字をバイナリ形式でビット単位でまたは操作します.
一般的な使い方:通常、バイナリ数字の無条件割り当てに使用されます.例えば、1つの数字|1は、現在の数字に最も近い奇数を取得することに相当する.
3、位別と&(AND)
はい、つまりすべての数字と目標数字をバイナリ形式でビットで操作します.
一般的な使い方:通常は、2進数のビット取り動作、例えば、1つの数字&1の場合は、0の場合は偶数、1の場合は奇数となる.
4、ビット別異種または^(XOR)
すなわち、すべての数字をバイナリ形式で目標数字と比較します.二つの数字だけが違っています.つまり、一つの数字だけを保存している場合は、1を返します.2つの数字と同じように0を返します.
よく使われています.xor演算の逆演算はそれ自体です.つまり2回の異種または同一の数の最後の結果は変わりません.簡単な暗号化やインタラクティブ数値操作に使用できます.
5、左に移動<
左にシフトします.即ち、すべての数字をバイナリ形式で左に移動し、対応するビット数を上位に移動(廃棄)し、下位のスペースをゼロにします.左への移動はシンボルビットに影響しません.
数学的意味:数字がオーバーフローしていない場合、正と負の値は、左のシフトは2を乗じた1乗に相当し、左のシフトnビットは2を乗じたn乗に相当する.
6、右に移動
6.1符号付きの右シフト>>は、すべての数値をバイナリで右に移動しますが、符号ビットを保持します.
数学的意味:数字がオーバーフローしていない前提で、正と負の数に対して、右の方は2で割った1乗に相当し、右の方は2で割ったn乗に相当します.
6.2符号なしの右シフト>>>は、符号ビットを含めて、すべての数値をバイナリで右に移動します.
正の数に対して>>>と>>の結果は同じです.
負の数に対しては、負の数はその絶対値の補数で表されるので、符号なしで右にシフトする結果は非常に大きい.
三、ブール操作子
1、論理的でない ! 論理が役に立たない!は、ECMAScriptのいずれかのタイプの値を適用することができます.論理非動作はブール値を返します.オペレータはまず、その操作数をブール値に変換してから反を求めます.
!Boolean()関数に相当します.
Boolean()変換関数の規則のセット.
データの種類 trueの値に変換 falseの値Booleanに変換 true false String 空の文字列以外 "(空の文字列)Number ゼロ以外の数値(無限大を含む) 0とNaN Object 任意のオブジェクト null Udefined なし undefined
2、論理と&&&
論理と操作数は二つあります.
論理と動作は、ブール値だけでなく、任意の種類の動作数に適用できます.ブール値ではない動作数がある場合、論理と動作はブール値に戻るとは限らない.このとき、ルールに従います.1.最初の操作数が対象であれば、2番目の操作数に戻ります.2.2番目の操作数が対象であれば、最初の操作数の結果がtrueである場合にのみ、そのオブジェクトに戻ります.3.両方の操作子が対象であれば、2番目の操作数に戻ります.第一規則に従う.4.操作数がnullであれば、nullに戻ります.5.一つの操作数がNaNであれば、NaNに戻ります.6.一つの操作数がundefinedであればundefinedに戻ります.
論理と操作は短絡操作に属しています.つまり、第一操作数が結果を決めることができれば、もう第二操作数に対して値を求めません.(内部の二つのreturn動作として理解できる).したがって、4、5、6の規則が衝突した場合、ショート操作の原則に従います.
論理または2つの操作数があります.
論理または論理と同様に、動作はブール値だけでなく、任意の種類の動作数に適用されてもよい.動作数がブール値ではない場合、論理または動作はブール値に戻るとは限らない.このとき、ルールに従います.1.最初の操作数が対象であれば、最初の操作数を返します.2.最初の操作数の結果がfalseであれば、2番目の動作数を返します.3.両方の操作子が対象である場合は、最初の操作数に戻り、第一のルールに従います.4.両方の操作数がnullであれば、nullに戻ります.5.両方の操作数がNaNであれば、NaNに戻ります.6.両方の操作数がundefinedであればundefinedに戻ります.
論理または操作はショート操作に属します.つまり、第一操作の結果がtrueであれば、もう第二操作の数値を求めません.
論理またはこの特性を利用して、変数のnullまたはundefinedの値を賦与することを避けることができます.
例えば、var myObject=first Object𞓜secondObject
もしfirstObjectがnullではないなら、firstObjectはmyObjectに与えられます.そうでなければ、secondObjectの値をmyObjectに与えます.
以上の内容は本文の全部です.皆さんに助けてほしいです.
1、自増自減操作子:前型と後置型に分ける.
フロントタイプ:++a;--a;
バックタイプ:a++a--です
例:
<br> var a, b,i= 1,j=1;
<br> a=i++;
<br> b=++j;
<br> alert("a="+a+",i="+i+",b="+b+",j="+j);//a=1,i=2,b=2,j=2
<br>
そのうちa=i+、a=iに相当する.i=i+1b=++jはj=j+1に相当する.b=j;2、一元加算操作子:a=+i;a=-i
<br> var a, b,i= 1,j=1;
<br> a=+i;
<br> b=-j;
<br> alert("a="+a+",i="+i+",b="+b+",j="+j);//a=1,i=1,b=-1,j=1
<br>
整数にとって、1元がマイナスを取るのに相当します.二、ビット操作子
1、順位別~(NOT)
いいえ、すべての数字をバイナリで反転します.
一般的な使い方:ビット演算NOTは実質的に数字に対してマイナスを求め、その後1を減らす.
2、位または124(OR)
あるいは、すべての数字と目標数字をバイナリ形式でビット単位でまたは操作します.
一般的な使い方:通常、バイナリ数字の無条件割り当てに使用されます.例えば、1つの数字|1は、現在の数字に最も近い奇数を取得することに相当する.
3、位別と&(AND)
はい、つまりすべての数字と目標数字をバイナリ形式でビットで操作します.
一般的な使い方:通常は、2進数のビット取り動作、例えば、1つの数字&1の場合は、0の場合は偶数、1の場合は奇数となる.
4、ビット別異種または^(XOR)
すなわち、すべての数字をバイナリ形式で目標数字と比較します.二つの数字だけが違っています.つまり、一つの数字だけを保存している場合は、1を返します.2つの数字と同じように0を返します.
よく使われています.xor演算の逆演算はそれ自体です.つまり2回の異種または同一の数の最後の結果は変わりません.簡単な暗号化やインタラクティブ数値操作に使用できます.
5、左に移動<
左にシフトします.即ち、すべての数字をバイナリ形式で左に移動し、対応するビット数を上位に移動(廃棄)し、下位のスペースをゼロにします.左への移動はシンボルビットに影響しません.
数学的意味:数字がオーバーフローしていない場合、正と負の値は、左のシフトは2を乗じた1乗に相当し、左のシフトnビットは2を乗じたn乗に相当する.
6、右に移動
6.1符号付きの右シフト>>は、すべての数値をバイナリで右に移動しますが、符号ビットを保持します.
数学的意味:数字がオーバーフローしていない前提で、正と負の数に対して、右の方は2で割った1乗に相当し、右の方は2で割ったn乗に相当します.
6.2符号なしの右シフト>>>は、符号ビットを含めて、すべての数値をバイナリで右に移動します.
正の数に対して>>>と>>の結果は同じです.
負の数に対しては、負の数はその絶対値の補数で表されるので、符号なしで右にシフトする結果は非常に大きい.
三、ブール操作子
1、論理的でない ! 論理が役に立たない!は、ECMAScriptのいずれかのタイプの値を適用することができます.論理非動作はブール値を返します.オペレータはまず、その操作数をブール値に変換してから反を求めます.
!Boolean()関数に相当します.
Boolean()変換関数の規則のセット.
データの種類 trueの値に変換 falseの値Booleanに変換 true false String 空の文字列以外 "(空の文字列)Number ゼロ以外の数値(無限大を含む) 0とNaN Object 任意のオブジェクト null Udefined なし undefined
2、論理と&&&
論理と操作数は二つあります.
論理と動作は、ブール値だけでなく、任意の種類の動作数に適用できます.ブール値ではない動作数がある場合、論理と動作はブール値に戻るとは限らない.このとき、ルールに従います.1.最初の操作数が対象であれば、2番目の操作数に戻ります.2.2番目の操作数が対象であれば、最初の操作数の結果がtrueである場合にのみ、そのオブジェクトに戻ります.3.両方の操作子が対象であれば、2番目の操作数に戻ります.第一規則に従う.4.操作数がnullであれば、nullに戻ります.5.一つの操作数がNaNであれば、NaNに戻ります.6.一つの操作数がundefinedであればundefinedに戻ります.
論理と操作は短絡操作に属しています.つまり、第一操作数が結果を決めることができれば、もう第二操作数に対して値を求めません.(内部の二つのreturn動作として理解できる).したがって、4、5、6の規則が衝突した場合、ショート操作の原則に従います.
var nul = null;
var na = NaN;
var test;
test = na&&nul;
document.write(test); //NaN
var nul = null;
var na = NaN;
var test;
test = nul&&na;
document.write(test); //null
3、論理や12462;12462;論理または2つの操作数があります.
論理または論理と同様に、動作はブール値だけでなく、任意の種類の動作数に適用されてもよい.動作数がブール値ではない場合、論理または動作はブール値に戻るとは限らない.このとき、ルールに従います.1.最初の操作数が対象であれば、最初の操作数を返します.2.最初の操作数の結果がfalseであれば、2番目の動作数を返します.3.両方の操作子が対象である場合は、最初の操作数に戻り、第一のルールに従います.4.両方の操作数がnullであれば、nullに戻ります.5.両方の操作数がNaNであれば、NaNに戻ります.6.両方の操作数がundefinedであればundefinedに戻ります.
論理または操作はショート操作に属します.つまり、第一操作の結果がtrueであれば、もう第二操作の数値を求めません.
論理またはこの特性を利用して、変数のnullまたはundefinedの値を賦与することを避けることができます.
例えば、var myObject=first Object𞓜secondObject
もしfirstObjectがnullではないなら、firstObjectはmyObjectに与えられます.そうでなければ、secondObjectの値をmyObjectに与えます.
以上の内容は本文の全部です.皆さんに助けてほしいです.