我遇到了一些我似乎无法弄清楚的JavaScript代码问题。我使用的功能是
var tagline = new function(){
document.write(
tags[
Math.floor(Math.random()*10)
]
);
};
调用一个名为“tags”的10个字符串数组,并显示该数组的随机条目。
问题在于,由于某种原因,即使没有调用函数,函数也会执行,而当我调用它时没有任何反应。该函数只是将文本放在左上角,无论是否调用都没有任何不同。这特别是造型的问题,因为无论我做什么,我都无法改变文本的位置,大小等。
(是的,我知道我可以用
做同样的事情document.getElementById("tag").innerHTML = tags[Math.floor(Math.random()*10)] ;
但我喜欢写自己的功能。)
感谢您提供任何帮助!
答案 0 :(得分:9)
这是因为您使用new
关键字。删除它,使其变为:
var tagline = function(){
通过使用new
关键字,您将从函数中实例化一个新对象,该对象立即调用它,然后您的变量包含对象,而不是函数,这解释了为什么您不能在之后调用它它首先执行。