【发布时间】:2016-10-11 15:06:19
【问题描述】:
我正在尝试创建一个脚本,该脚本允许我显示一个超链接,该超链接将用户重定向到从四个站点中选择的随机 url。到目前为止,我已经为站点创建了一个数组,以及一个尝试生成随机 url 的函数。就我而言,重要的是输出(“单击以转到随机站点”)不是一个按钮,而是一个简单的(可点击的)字符串。
运行代码时出现参考错误“未定义链接(第 18 行)”。我以为我在代码中用var link = 'http://' + links[randIdx]; 定义了链接,所以我不完全确定我为什么会收到这个错误以及如何修复它。
任何人都可以查看我的代码以了解我在哪里犯了错误以及如何修复它?
<a href="javascript:openSite()">Click to go to a random site</a>
<script>
function openSite() {
var links = [
"google.com",
"youtube.com",
"reddit.com",
"apple.com"]
openSite = function() {
// get a random number between 0 and the number of links
var randIdx = Math.random() * links.length;
// round it, so it can be used as array index
randIdx = parseInt(randIdx, 10);
// construct the link to be opened
var link = 'http://' + links[randIdx];
};
return link;
document.getElementById("link").innerHTML = openSite();
}
</script>
【问题讨论】:
-
为什么openSite()函数里面又多了一个openSite()函数?
-
这可能是我使用不同方法使代码工作的副产品
标签: javascript html random reference href