javaScript中通用全局变量和作为变量的对象之间的混淆
下面是我的代码。当我在javaScript中通用全局变量和作为变量的对象之间的混淆,javascript,global-variables,jsobject,Javascript,Global Variables,Jsobject,下面是我的代码。当我在myTime()函数外部调用myDate变量以创建Date()对象时,setInterval()函数不会启动,但在myTime()函数内部时会启动。正如我所知,myDate变量是一个全局变量,它应该在函数内部或外部工作。但是为什么我在函数外部创建Date()对象时,setInterval()方法没有触发呢?专家解释了这些事情。短暂性脑缺血发作 var myDate = new Date(); function myTime(){ document.g
myTime()
函数外部调用myDate
变量以创建Date()
对象时,setInterval()
函数不会启动,但在myTime()
函数内部时会启动。正如我所知,myDate
变量是一个全局变量,它应该在函数内部或外部工作。但是为什么我在函数外部创建Date()
对象时,setInterval()
方法没有触发呢?专家解释了这些事情。短暂性脑缺血发作
var myDate = new Date();
function myTime(){
document.getElementById('text').innerHTML = myDate.getHours() + ":" + myDate.getMinutes() + ":" + myDate.getSeconds();
}
setInterval(myTime, 1000);
您是对的:
myDate
变量可以从myTime()
函数访问,但如果在其外部声明,则其值不会更改。在下面的代码段中,我又创建了一个外部变量i
,以表明它可以从函数内部访问:
var myDate=新日期();
var i=0;
函数myTime(){
document.getElementById('text').innerHTML=myDate.getHours()+“:“+myDate.getMinutes()+”:“+myDate.getSeconds()+”(“+i++”);
}
设置间隔(myTime,1000)代码>
更新了问题。也许这会帮助你更好地理解。@AshikurRahman为什么你认为setInterval()
不能启动?如果你运行第一个代码段,你会发现i
每秒都会改变是的,但是秒数不会随着时间间隔而改变?我是新来的programming@AshikurRahman“但如果它在它之外声明,它的值不会改变”。