2013-01-17 48 views
1

我剛纔看到一個表情從一個JavaScript樣本類似以下內容:的JavaScript(X,Y,Z)+一個意思

var some = (x, y, z) + a; 

這是什麼意思?結果如何?

+0

看看這個答案:http://stackoverflow.com/questions/7421013/why-does-5-6-8-71-2-8-in-javascript/7421030#7421030 –

回答

6

這是JavaScript的comma operator

x, y, z; // is the same as 
x; 
y; 
z; // this is the last thing returned, so 
(x, y, z) === z; 

因此,var some = (x, y, z) + a;是一樣的var some = z + a;,除了xy太評估。

如果你想縮短事情到一行或需要評估第二件事情之前有用的東西,這很有用。

+0

+ 1好解釋 –

+0

你能告訴x和y的用途嗎?它和* var x,y; *和* var some = z + a相同嗎?* –

+0

@ArunKillu'x'和'y'不能得到'var'd,他們只是得到評估。您通常使用一個表達式而不僅僅是一個'x'或'y',例如你調用一個函數'setZ()'或者做一些運算符'--z'而不是簡單的''x'「。 –

0

下面的例子顯示了你的解決方案,你會發現它只顯示最後賦值的值(x,y,z),它只需要z並將其添加到'a'並顯示它。

<script> 
    x=1; 
    y=2; 
    z=0; 
    a=0; 
    var some = (x, y, z) + a; 
    alert(some) 
</script> 
相關問題