为了账号安全,请及时绑定邮箱和手机立即绑定

关于innerText的问题,回必粉。

var num2=5;

     function q(){

      if(parseInt(document.getElementById("shu").innerText)==0)

      {

          location.assign("https://fulibus.net/the-naked-director.html");

      }

      else

      {

         num2--;

         document.getElementById("shu").innerText=num2;

      }

  }

      setInterval("q()",1000);

是可以执行的 

但是换成如下就会判断失效,数字一直往下减。 这是为什么?

var num2=5;

  var num=parseInt(document.getElementById("shu").innerText)

  function q(){

      if(num==0)

      {

          location.assign("https://fulibus.net/the-naked-director.html");

      }

      else

      {

         num2--;

         document.getElementById("shu").innerText=num2;

      }

  }

      setInterval("q()",1000);


正在回答

1 回答

/*
我对第二个进行分析:
1、程序开始,num获取到了元素的值“5”,进入循环;
2、第一次循环,num2的字符值--1,但是num并没有重新赋值,因为num是在循环之外的;
3、故第二次循环,num=5!=0,所以判定为Flase,一直就执行else{}语句块里面的内容;
*/


1 回复 有任何疑惑可以回复我~
#1

精慕门9116487 提问者

num没有放到for里 所以一直是初始赋值的5,是这个意思吗?
2019-08-09 回复 有任何疑惑可以回复我~
#2

IoTus3 回复 精慕门9116487 提问者

对的,只有第一次初始化,然后就没有改变过值了,这是脚本语言,是顺序执行的;
2019-08-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于innerText的问题,回必粉。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信