我無法理解for循環的行爲。 的jQuery:For循環給出了意想不到的結果
$('#btnTest').on("click", function() {
var thumbUrl = "http:localhost/File/Modules/FileManager/Library/1041323042_12.jpg";
var arrurl = thumbUrl.split("/");
var i;
var result;
for (i = 0; i < arrurl.length - 1; i++) {
result += arrurl[i] + '/';
}
alert(result);
});
和HTML:
<input type="button" class="ThumbLink" value="Test" id="btnTest"/>
但alert
給出了結果:
undefinedhttp:localhost/File/Modules/FileManager/Library/
凡本undefined
來from.What是我的錯在for循環? 。謝謝。
我的jsfiddle:
請注意,如果代碼的目的是爲了消除任何是最後的'/'字符後,你可以用'VAR結果做在一個線= thumbUrl.replace(/ [^ \ /] * $ /,「」);'。 (或者另一種選擇是用'arrurl.pop(); result = arrurl.join(「/」)+「/」;' - 也就是在加入數組之前刪除數組的最後一個元素回到一起。) – nnnnnn
@nnnnnn我無法理解正則表達式,所以我總是避免使用它,但它的工作完美謝謝人。 –
不客氣。那個正則表達式模式''[^ \ /] * $'只是說匹配字符串末尾的零個或多個非斜槓字符(而'.replace()'用空字符串替換了所有字符)... – nnnnnn