В следующий раз пожалуйста оформляйте код в тегах, а то читать не удобно
А теперь к делу:
- Во первых у Вас ошибки в регистре букв, сама функция называется
rtrim, а вызываете Вы
Rtrim. Т.к. JS восприимчив к регистру букв, то думает что такой функции не существует.
- Во вторых так и не понял что за функция
Ltrim и для чего она вызывается, ну в общем это и не важно
, но в моем случае (соответственно) вылетает ошибка, если не убрать строчку с вызовом данной функции.
- В третьих вы возвращаете
substring(0, 1+1); в своей функции. т.е. первые два символа т.к. второй аргумент функции указывает количество символов начиная с первого.
- В четвертых, самое главное
(!). В цикле Вы ничего не делаете со счетчиком цикла, в итоге получаем вечный цикл.
Вроде бы все Ваши ляпы (за исключением непонимания мною использования метода
split в Вашем случае)
В общем я не JS гуру, но вот что у меня получилось, вроде бы работает:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF8" />
<title></title>
<script type="text/javascript">
function rtrim(str){
var i = str.length - 1;
if(str.charAt(i)!= " ") return str;
while(i){
if(str.charAt(i) == " ") i--;
else break;
}
return str.substr(0, i+1);
}
inv = prompt("Введите текст с пробелами: ", " abc ");
window.alert("/"+inv+"/\n/"+rtrim(inv)+"/");
</script>
</head>
<body></body>
</html>
P.S. Хотелось бы узнать мнение знающих людей по поводу моего кода. Как бы можно было его улучшить и т.д., не ругайтесь я только учусь помогать