我想了解一些JavaScript代碼,但不明白是什麼導致了這種行爲。圓括號中的Javascript字符串
我的代碼很簡單:
test ="s" + ("locomotion","maintenance","ave");
alert(test);
當我執行上面的代碼,返回的字符串是「拯救」的警告框。上述代碼的意義是什麼?爲什麼加入字符串的最後一個字符串是「s」?
這是什麼叫,以及如何java腳本選擇「大道」加入「S」?
謝謝。
我想了解一些JavaScript代碼,但不明白是什麼導致了這種行爲。圓括號中的Javascript字符串
我的代碼很簡單:
test ="s" + ("locomotion","maintenance","ave");
alert(test);
當我執行上面的代碼,返回的字符串是「拯救」的警告框。上述代碼的意義是什麼?爲什麼加入字符串的最後一個字符串是「s」?
這是什麼叫,以及如何java腳本選擇「大道」加入「S」?
謝謝。
的MDN說:
「(從左至右)和返回最後一個操作數的價值逗號運算符的每個操作數的。」
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator
在你的情況下,最後的操作數是 「AVE」
您的代碼按預期工作。在警報中,您獲得save
,這是因爲您使用+
運算符加入s
和ave
。
在你expresion ("locomotion","maintenance","ave")
,ave
選擇,所以你要執行的操作test = "s" + "ave"
,讓你警覺得到save
這裏是如何test
計算:
"s" concatenated with ("locomotion", "maintenance", "ave");
"locomotion", "maintenance" is evaluated to "maintenance"
"maintenance", "ave" is evaluated to "ave"
("ave") is evaluated to "ave"
"s" + "ave" is evaluated to "save"
它發生因爲,
is an operator那兩個參數。它評估兩個操作數並返回第二個值。
逗號運算符評估它的兩個操作數(從左到右)並返回第二個操作數的值。
它只是一個逗號運算符,根據您的問題返回最後一個字符串的值。請參閱Andreas提到的這個文檔。
什麼是你真正想幹什麼?這不是如何在JS中加入字符串,括號只是表示要評估的表達式。 – skyline3000
我在其中一個示例中找到了此代碼。當我嘗試使用警報測試時,它將在警告框中返回「保存」。所以我想了解它如何使用s + ave返回字符串「save」。爲什麼不是第一個或第二個字符串與「s」? – ahelpyguy