21

私は JavaScript で単項演算子を理解しようとしています。このガイドはこちらhttp://wiki.answers.com/Q/What_are_unary_operators_in_javascriptで見つかりましたが、そのほとんどは理にかなっていますが、理解できないのは、次の例が実際のコード例:

+a;
-a;

私の理解では+a; 変数を a と-a;の正の値にすることを意図しています。変数を a の負の値にすることを意味します。次のような多くの例を試しました。

a = -10;
a = +a;
document.writeln(a);

出力はまだ -10 です。

私も試しました:

a = false;
a = +a;
document.writeln(a);

出力は 0 です。

これらの単項演算子の実用的なコード例は何ですか?

4

7 に答える 7

28

+演算子は値の符号を変更しませんが、演算子は符号を-変更します。両方の演算子の結果は元の値の符号に依存し、どちらの演算子も元の符号に関係なく、値を正または負にしません。

var a = 4;
a = -a; // -4
a = +a; // -4

関数は、オペレーターが行うabsと思われることを行い+ます。元の符号に関係なく、値が正になります。

var a =-4;
a = Math.abs(a); // 4

行うこと+aは、実際には行うことと同じa * 1です。必要に応じて値を数値に変換しますaが、その後は値を変更しません。

var a = "5";
a = +a; // 5

+演算子は、文字列を数値に変換するために使用されることがありますが、より具体的な方法で変換を行うための関数parseIntと関数があります。parseFloat

var a = "5";
a = parseInt(a, 10); //5
于 2012-08-25T09:35:43.297 に答える
4

一例として、文字列を数値に変換するために使用できます。

var threeStr = '3.0'
var three = +threeStr
console.log(threeStr + 3) // '3.03'
console.log(three + 3) //6
于 2012-08-25T09:36:12.943 に答える
2

これを基本的な数学的ポイントから説明したいと思い
ます: 乗算規則:

Positive x Positive = Positive: 3 x 2 = 6  
Negative x Negative = Positive: (-2) x (-8) = 16   
Negative x Positive = Negative: (-3) x 4 = -12  
Positive x Negative = Negative: 3 x (-4) = -12  

あなたの例を考えると:

a = -10;
a = +a
document.writeln(a);

+a = +(-10) = 正 x 負 = 負 = -10

a = false;
a = +a;
document.writeln(a);

false == 0, +a = +(+0) = 正 * 正 = 正 = 0 (おそらく true を使用する方が良い例です)

于 2012-08-25T09:49:07.530 に答える
0
a = 1
b = -a
console.log(b)

output
-1
于 2012-08-25T09:35:42.453 に答える
0

変数「a」の「+」演算子は、次のことを意味します。

変数「a」の「-」演算子は単に次を意味します: -a

Since, in above example 
a=-10;
a= +a; // means a, ie, +(-10) which is -10

but,
a= -a;  // means -a, ie, -(-10) which is +10
于 2012-08-25T09:43:02.327 に答える
0

+a は a*1 を意味し、-a は a*(-1) を意味します。

それでおしまい!!!!!!

于 2012-08-25T09:49:13.883 に答える
-1

これを試して

false == 0 // returns true

そう、

a = false

a = +a //a * 1

console.log(a) // prints 0 as expected
于 2012-08-25T09:39:29.147 に答える