function try1(){
var i = 0;
function fontChange (){
var font =["载","入","中"];
document.getElementById("p1").innerHTML=font[i];
i=i+1;
if (i==3){i=0}
}
t=window.setInterval("fontChange()",1000)
}
onload=try1()
console 中显示错误, fontChane未声明。
但我看w3school中个一个例子
var iBaseNum = 10;
function addNum(iNum1, iNum2) {
function doAdd() {
return iNum1 + iNum2 + iBaseNum;
}
return doAdd();
}
这就可以。。。。。
是我代码写错了嘛?
首先,函数中是可以声明函数的,这里出错的原因不在这里,而是这条语句:
传入的“fontChange()”会被解析为去调用全局对象window下的fontChange()函数,由于window下未定义fontChange()函数,所以这里会提示错误“fontChane未声明”。
调用setInterval函数的时候传入字符串参数是一种很不好的做法,任何时候都要尽量避免这种做法。
要解决这个问题,这里可以这样写: