我在Javascript中的功能问题

时间:2014-06-25 18:37:19

标签: javascript html css

我遇到了一些我似乎无法弄清楚的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)] ;

但我喜欢写自己的功能。)

感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:9)

这是因为您使用new关键字。删除它,使其变为:

var tagline = function(){

通过使用new关键字,您将从函数中实例化一个新对象,该对象立即调用它,然后您的变量包含对象,而不是函数,这解释了为什么您不能在之后调用它它首先执行。