JavaScript setInterval

mjm*_*che 7 javascript global-variables setinterval

这是关于setInterval的教程中的一个例子,但它并没有为我的新手大脑解释它.如果你能回答这些问题,我将不胜感激

i)1000 millesecond计时器是否表示每秒触发moveElement函数?换句话说,在它运行后,它将等待1秒然后再次运行它?

ii)moveElement的目的是每次运行时将"redBox"向左移动10个像素?这就是为什么在函数中使用"px"的原因

iii)moveElement第一次运行后,x(x + = 10)的新值是否替换var x = 0中的0值?即它是否存储在程序顶部的变量x中的函数之外?

var x = 0;
setInterval(moveElement,1000);

function moveElement() {
  x+=10;
  var left = x + "px";
  document.getElementById("redbox").style.left=left;
Run Code Online (Sandbox Code Playgroud)

ale*_*lex 8

i)是的,至少在理论上.JavaScript(大部分)单线程性质意味着它不会完全是1000毫秒.

ii)通过向左添加10px将其向右移动10px.Px是像素的缩写,是像素的缩写.

iii)x在函数之外定义,因此每次都会持续存在.每次调用该函数时,x都会大10.已x被功能中定义,这将是10每次被调用的时间.