Я пытаюсь использовать функцию как строку прямо сейчас, и не кажется, что это возможно. Чтобы дать вам пример того, что я имею в виду, посмотрите на файл ниже:Как использовать функцию в виде строки?
<!DOCTYPE html>
<html>
<title>Test Webpage</title>
<div id = "storyDisplay"></div>
<script>
var story = [];
var dangerElements = ["test1","test2","test3"];
function danger() {
story.push(dangerElements[Math.round(Math.random()*dangerElements.length)];
document.getElementById("storyDisplay").innerHTML = story.join("");
}
</script>
</html>
Теперь, когда я пытаюсь ввести этот код он выходит как:
В принципе, выхода нет. Я проверил файл и не похоже, что есть синтаксическая ошибка, так что происходит?
[РЕДАКТИРОВАТЬ] Извините, прошу прощения забыли добавить в эту часть. Я хочу использовать опасность() следующим образом:
var genStory = [danger()];
и я хочу, чтобы он выводился как случайная строка в истории.
Я вижу ошибку синтаксиса. Откройте консоль (нажмите F12 на Windows или Opt + Cmd + I на Mac), и он скажет вам, что это такое. Слово мудрому: правильно отрисуйте свой код. Это облегчит процесс отладки * в будущем. –
Кроме того, вы должны использовать 'Math.floor' не' Math.round' при вычислении случайного элемента в таком массиве. 'Math.round' будет иногда давать вам ошибку за пределами границ, когда она округляет * вверх * за пределы диапазона массива. – jered
Что означает «использовать функцию как строку»? Вы просто пытаетесь вызвать функцию, а не использовать ее как нечто особенное. – Barmar