Как создать функцию длины, которая измеряет длину строки без использования функции длины - PullRequest
2 голосов
/ 04 мая 2019

Ошибка в JavaScript TypeError: Невозможно вызвать длину свойства в объекте Geogebra. Это не функция, это «число». (Ошибка в строке № 4)

alert("Método String de Javascript");
var str=prompt("Entre una cadena de caracteres: ","Geogebra");
var n;
n=str.length();
var i;
for(i=0;i<=n;i++){
    alert("char at "+ i+ " index: " + str.charAt(i));
}

Ответы [ 3 ]

3 голосов
/ 04 мая 2019
  • length является свойством строки.Это не функция.Вам необходимо удалить ().
  • Также вы должны инициализировать n в одну строку.var n = str.length
  • Также i <= n должно быть i < n

alert("Método String de Javascript");
var str = prompt("Entre una cadena de caracteres: ","Geogebra");
var n = str.length;
for(var i = 0;i < n;i++){
    alert("char at "+ i + " index: " + str.charAt(i));
}
1 голос
/ 04 мая 2019

Если вы предпочитаете «лучше писать код»

alert("Método String de Javascript");
let str=prompt("Entre una cadena de caracteres: ","Geogebra");

if (str) {
  for(let i=0, iMax=str.length; i < iMax; i++)
  {
    console.log(`char at ${i} index: ${str.charAt(i)}`);
  }
}
else
{
  alert('prompt canceled');
}
0 голосов
/ 04 мая 2019
//length does not need parentheses.
alert("Método String de Javascript");
var str=prompt("Entre una cadena de caracteres: ","Geogebra");
var n;
n=str.length;  //length does not need parentheses.
var i;
for(i=0;i<=n;i++){
    alert("char at "+ i+ " index: " + str.charAt(i));
}
...