2017-02-13 11 views
-2

次対のjavascript:オペレータ間の戻り値の差 - 及び - 以下のコードを考える=

var x = 0; 

function decrement(num) { 
    return num--; 
} 

var y = decrement(x); 
console.log(y); // 0 

y--リターン 0機能からない理由
var x = 0; 

function decrement(num) { 
    return num -= 1; // this is the only difference between the functions 
} 

var y = decrement(x); 
console.log(y); // 0 

y -= 1戻る一方-1

+1

なぜ私も '--y'も実行しなかったのは不思議です。しかし、あなたはおそらくこの質問の答えを見つけるでしょう:http://stackoverflow.com/questions/9549780/what-does-this-symbol-mean-in-javascript –

+0

@DavidThomasありがとう。あなたはSOの単一の文字を簡単に検索することができなかったことを認識していませんでした。なぜ私はこの質問に対する答えを最初に見つけられなかったのか説明します。 – dtburgess

+2

参照として実際の参照を使用してStackoverflowを参照する代わりに、https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators – Jan

答えて

1

UPDATEは:What does this symbol mean in JavaScript?

私はSOにこの質問への答えを見つけることができませんでしたし、それを研究し、質問を構成しながら、私の質問に答えるために管理:これは重複して質問です、ここで答えました。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Decrement_(--)

コード例では、オペレータをインクリメントポストフィックスを使用しています。後置演算子は、最初に現在の値を返し、次にそれをインクリメントします。

var x = 1; 
x++; // returns 1, x === 2  

これは最初の値をインクリメントし、インクリメント値を返す接頭インクリメント演算子とは対照的です。

var y = 1; 
--y // returns 0, y === 0 

+=-=代入演算子について:これらの演算子も値をインクリメントし、インクリメント値を返します。

+0

(http: /stackoverflow.com/questions/3469885/somevariable-vs-somevariable-in-javascript) – rasmeister

0

接頭辞と接尾辞を覚えておいてください。私がするとき私はnumの値を返すだけで、値を返すと減税が来ます。

簡潔に言えば、オペレータの優越度

関連する問題