Javascript中的变量范围

时间:2012-11-27 09:17:39

标签: scope global-variables

Arrow_onmouseover附加了对象的'onmouseover'事件。当onmouseover事件发生时,我得到'timeline未定义'JS错误。我知道这与变量范围有关。我怎么能纠正这个。

function startloop()
{
    var changer = setInterval("changecontents();", 2000);
    var timeline = setInterval("change();", 2000);  
}

window.onload = startloop();

function arrow_onmouseover()
{ 
window.clearInterval(timeline);
window.clearInterval(changer);
}

另外一个名为Function()的函数有什么区别;和功能; 。我相信这也可能与此相关,因为它极大地影响了变量的范围。

之间有什么区别
onclick="js();" and onclick="js;" or onclick="js"

其中JS是定义的Java脚本函数。

1 个答案:

答案 0 :(得分:1)

像这样更改您的代码。

var timeline,changer;
function startloop()
{
    changer = setInterval("changecontents();", 2000);
    timeline = setInterval("change();", 2000);  
}

window.onload = startloop();

function arrow_onmouseover()
{ 
window.clearInterval(timeline);
window.clearInterval(changer);
}

之间的区别
  

的onclick = “JS();”和onclick =“js;”或onclick =“js”

如果你的js函数没有任何参数可以接收你可以简单地避免()如果你想得到日期你可以调用new Date();但你可以简单地调用新日期;