首页 > 变量定义问题

变量定义问题

    function fontChangeInTime (z,zNumber,time){
    var i = 1,t;
    document.getElementById('p1').innerHTML =z[0];
    window.setInterval(function(){t = window.setTimeout(document.getElementById('p1').innerHTML =z[i], time);i++; if (i == zNumber) { i = 0 };alert(typeof z[i])},time)
}
onload=fontChangeInTime(["载","入","中"],3,1000);

console 中显示:
“Uncaught ReferenceError: 载 is not defined”
“Uncaught ReferenceError: 入 is not defined”
“Uncaught ReferenceError: 中 is not defined”
但我用“alert(typeof z[i])”,提示是“string”。。。这应该是定义了吧,但为什么会显示没定义呢??


发觉自己写复杂了。。。

    function fontChangeInTime (z,zNumber,time){
    var i = 1;
    document.getElementById('p1').innerHTML =z[0];
    window.setInterval(function(){document.getElementById('p1').innerHTML =z[i];i++; if (i == zNumber) { i = 0 }},time)
}
onload=fontChangeInTime(["载","入","中"],3,1000);

更正后就没问题了


setIntevalsetTimeout 要求你传入的第一个参数是 Function,在你的代码里 setTimeout 传入的参数不对,导致变量 z 其实变成了 window.z,因此是未定义的。

【热门文章】
【热门文章】