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

这个js控制台的undefined是从哪里冒出来的?

这个js控制台的undefined是从哪里冒出来的?

慕勒3428872 2019-03-04 13:15:28
没想出来这个undefined是从哪里冒出来的。。。。<script>    count=0    function foo(){        t1=new Date()        console.log("foo执行",t1.toLocaleString(),"count=",count)    }    t=new Date()    console.log("开始",t.toLocaleString())    var interval    interval=setInterval(function(){        if(count==5){            console.log("count=15,开始清理")            clearInterval(interval)            console.log("清理结束")            console.log(console.log("清理interval",t.toLocaleString(),"count=",count))        }        t=new Date()        setTimeout(foo,10000)        console.log("+","interval执行",t.toLocaleString(),"count=",count)        count++    },1000)</script>>interval执行 2018/1/30 下午5:41:52 count= 0testfiled.html:34 + interval执行 2018/1/30 下午5:41:53 count= 1testfiled.html:34 + interval执行 2018/1/30 下午5:41:54 count= 2testfiled.html:34 + interval执行 2018/1/30 下午5:41:55 count= 3testfiled.html:34 + interval执行 2018/1/30 下午5:41:56 count= 4testfiled.html:27 count=15,开始清理testfiled.html:29 清理结束testfiled.html:30 清理interval 2018/1/30 下午5:41:56 count= 5testfiled.html:30 undefinedtestfiled.html:34 + interval执行 2018/1/30 下午5:41:57 count= 5testfiled.html:20 foo执行 2018/1/30 下午5:42:02 count= 6testfiled.html:20 foo执行 2018/1/30 下午5:42:03 count= 6testfiled.html:20 foo执行 2018/1/30 下午5:42:04 count= 6testfiled.html:20 foo执行 2018/1/30 下午5:42:05 count= 6testfiled.html:20 foo执行 2018/1/30 下午5:42:06 count= 6testfiled.html:20 foo执行 2018/1/30 下午5:42:07 count= 6
查看完整描述

4 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

//大概没注意,多写了一层console.log();

console.log(console.log("清理interval",t.toLocaleString(),"count=",count))


// myVar的值为undefined

var myVar = console.log("清理interval",t.toLocaleString(),"count=",count);

console.log(myVar);


查看完整回答
反对 回复 2019-03-13
?
慕斯王

TA贡献1864条经验 获得超2个赞

console.log没有返回值


        if(count==5){

            console.log("count=15,开始清理")

            clearInterval(interval)

            console.log("清理结束")

            //下面一嵌套了一层console.log

            console.log(console.log("清理interval",t.toLocaleString(),"count=",count))

        }


查看完整回答
反对 回复 2019-03-13
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

这个undfined来自你调用的某个没有手动return的方法。
这个方法可能是你写的也可能是来自js内部的,因为我们知道一个方法如果没有手动return的话会默认返回undefined
最简单的例子就是

console.log('anything');

的控制台输出,如下

https://img1.sycdn.imooc.com//5c88d7510001a2f803000076.jpg

这个undefined就来自js的console.log方法,因为他没有手动return。


查看完整回答
反对 回复 2019-03-13
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

console.log(console.log("清理interval",t.toLocaleString(),"count=",count))

多了一个 console.log


查看完整回答
反对 回复 2019-03-13
  • 4 回答
  • 0 关注
  • 1161 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信