如何将函数用作字符串?

时间:2016-05-27 22:26:41

标签: javascript arrays string function push

我正在尝试将函数用作字符串,但似乎不可能。为了举例说明我的意思,请看下面的文件:

<!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>

现在,当我尝试输入此代码时,它显示为:

<小时/> 基本上,没有输出。我检查了文件,似乎没有语法错误,所以发生了什么?

[编辑]抱歉,哎呀,忘记在这部分添加。我想像这样使用danger():

var genStory = [danger()];

我希望它在故事中作为随机字符串输出。

2 个答案:

答案 0 :(得分:0)

你只是错过了第9行的方括号和右括号

story.push(dangerElements[Math.round(Math.random()*dangerElements.length)]);

答案 1 :(得分:0)

这就是你追求的吗?

var genStory = [(danger)()];
alert( genStory );
<!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)]);
    return document.getElementById("storyDisplay").innerHTML = story.join("");
}

</script>
</html>