Я понимаю, что переменные не привязаны к блоку, а относятся только к функциям, поэтому мне было интересно, почему значение переменной reversed
изменяется, помещаю ли я его внутри while l oop или вне while l oop.
Когда reversed
помещается внутри while l oop
var isPalindrome = function(x) {
if (x < 0) {
return false;
}
let temp = x;
while (temp > 0) {
var reversed = 0;
reversed = (reversed * 10) + (temp % 10);
temp = Math.floor(temp/10);
}
console.log(reversed) // reversed = 1
return reversed === x;
};
console.log(isPalindrome(121)) // false
Когда reversed
помещается вне while l oop
var isPalindrome = function(x) {
if (x < 0) {
return false;
}
let temp = x;
var reversed = 0;
while (temp > 0) {
reversed = (reversed * 10) + (temp % 10);
temp = Math.floor(temp/10);
}
console.log(reversed) // reversed = 121
return reversed === x;
};
console.log(isPalindrome(121)) // true