2014-09-25 73 views
1

我有一個很短的問題,但它真的讓我困惑。JavaScript中的x ++有什麼用途?

var y = 3, x = y++; 

x的值是多少?

我想答案應該是4,但實際上它是3

任何人都可以解釋我的原因嗎?

+1

x = y ++在這裏,該值被分配,然後遞增。這個x = ++ y將會增加並賦值。 – 2014-09-25 05:44:53

+0

當你做x = y ++;首先它會將y的值賦給x,然後它會增加。 – 2014-09-25 05:45:09

回答

0

y++,++被稱爲「增量後運算符」。它首先使用值y,然後遞增y。在此,與「預增加運算符」++y形成對比,其首先增加y,然後返回增加的值。

5
y++

稱爲後增量 - 它遞增變量後返回原始值作爲表達式的值。所以

x = y++; 

等同於:

temp = y; 
y = y + 1; 
x = temp; 

如果你想返回新值,你應該使用++y。這被稱爲預先增量,因爲它在返回之前遞增變量。聲明

x = ++y; 

等同於:

y = y + 1; 
x = y; 
0

++運營商做了兩兩件事。它遞增一個變量並返回變量的值。

如果以前綴爲例,即++y,它將在增量後返回值(在您的情況下爲4)。如果你使用後綴(y++),它會返回增量前的值(在你的情況下爲3.請注意,y的值現在仍然是4,但是在y遞增之前x被賦值)。

0
var y = 3; 
x = ++y; 
console.log(x); 

這將導致4

這就是所謂的 「預增」。它返回增加的值。

y++是後增量,它返回原始值。