我這個簡單的編碼挑戰玩弄扭轉一個字符串:初級變量聲明 - JavaScript的
function FirstReverse(str) {
var newStr;
for (var i = str.length - 1; i >= 0; i--) {
console.log(str.charAt(i));
var newStr = newStr + str.charAt(i);
}
return newStr;
}
console.log(FirstReverse("hey"));
結果成爲undefinedyeh
,而不是僅僅yeh
。 但是,當我將var newStr
更改爲var newStr = '';
時,它突然生效。
JavaScript認爲什麼數據類型newStr
直到我將它分配給空白字符串?
您需要使用'var newStr ='';'來初始化變量,並且不需要使用var for for循環來重新聲明它。 – jcubic
JavaScript有時因未定義或「部分」定義的值而被批評爲奇怪的行爲。查看更多不可預知的結果,JavaScript從1:20開始:https://www.destroyallsoftware.com/talks/wat – Shaun