2016-02-25 6 views
1

Я пишу небольшую программу с javascript и html-холстом. Это моя первая javascript-программа. Это сделает вещь dragonCurve. Но я получаю эту ошибку: TypeError: old is undefined. Я не первый с этим вопросом, но после прочтения других вопросов я все еще не мог найти решение.string typeError: variable undefined

Следующий код является частью программы, в которой он вызывает ошибку. Так почему это дает ошибку?

<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> 
+0

Я не могу воспроизвести эту ошибку из кода, который вы отправили, но я получаю одно сообщение о том, что итерация не определена. – j08691

+0

мой плохой там также должен быть 'var iteration = 20;' в верхней части кода –

+0

что такое old.reversed предполагается делать? –

ответ

1

"reverseed" не является функцией по умолчанию в JavaScript.

Вам нужно создать и добавить функцию, как это:

function reverse(s){ 
    return s.split("").reverse().join(""); 
} 

Затем замените old = old.reversed; с old = reverse(old);

Это должно решить проблему.

+1

он даже не называет 'reverse' как функцию, он использует его как свойство. – Barmar

+0

Конечная вещь: вы можете уточнить, что вы подразумеваете под «функцией по умолчанию» – sqykly

0

Да, если он действительно хотел, чтобы он мог просто сказать old.reversed();

+0

'reverse()' not 'reverseed()', и вы действительно должны отредактировать свой уже принятый ответ вместо того, чтобы писать другое - особенно в этом случае, потому что это это лучший ответ (если вы исправите имя функции) – sqykly

+0

Извините, что я нахожусь на мобильном телефоне, мой плохой ... –

+0

Это происходит. Mobile действительно плохо для SO, он не получает контекста вообще. – sqykly