Javascript 字符串类型错误:变量未定义
我正在用javascript和html画布编写一个小程序。这是我的第一个javascript程序。它将使龙曲线的事情。但是我得到了这个错误:Javascript 字符串类型错误:变量未定义,javascript,Javascript,我正在用javascript和html画布编写一个小程序。这是我的第一个javascript程序。它将使龙曲线的事情。但是我得到了这个错误:TypeError:old是未定义的。我不是第一个提出这个问题的人,但在阅读了其他问题后,我仍然找不到解决办法 下面的代码是程序中引发错误的部分。 那么为什么它会给出一个错误呢 <script> var r = 'r'; var l = 'l'; var old = r; var newer = old; var iteration = 10
TypeError:old是未定义的
。我不是第一个提出这个问题的人,但在阅读了其他问题后,我仍然找不到解决办法
下面的代码是程序中引发错误的部分。
那么为什么它会给出一个错误呢
<script>
var r = 'r';
var l = 'l';
var old = r;
var newer = old;
var iteration = 10;
var cycle = 1;
while (cycle < iteration){
newer = (old) + (r);
old = old.reversed;
var oldstring = old.split(""); <!-- here is the error -->
cycle++;
}
</script>
var r='r';
变量l='l';
var old=r;
var较新=旧;
var迭代=10;
var循环=1;
while(循环<迭代){
新的=(旧的)+(r);
old=old.reversed;
var oldstring=old.split(“”);
循环++;
}
“reversed”不是JavaScript中的默认函数
您需要创建并添加如下函数:
function reverse(s){
return s.split("").reverse().join("");
}
然后更换old=old.reversed代码>带<代码>旧=反向(旧)代码>
这应该可以解决问题。是的,如果他真的想,他也可以说old.reversed() 我不能从你发布的代码中重现这个错误,但我确实得到了一个关于迭代未定义的错误代码>在代码的顶部,什么是旧的。你应该做什么?@BarryDoyle我换了帖子。是的,while循环的末尾(和内部)有cycle+。@BarryDoyle old.reverse应该反转旧字符串。因此,旧的第一个字母将是最后一个等。他甚至没有将reverse
作为函数调用,而是将其用作属性。最后一件事:您可能想澄清“默认函数”reverse()
而不是reversed()
,这是什么意思,而且你真的应该编辑你已经接受的答案,而不是写另一个——特别是在这种情况下,因为这是一个更好的答案(如果你修复了函数名)。手机对我们来说真的很糟糕,所以它根本不了解环境。