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

没想出来这个undefined是从哪里冒出来的。。。。

https://img.mukewang.com/5c88d7310001169307860382.jpg

<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= 0

testfiled.html:34 + interval执行 2018/1/30 下午5:41:53 count= 1

testfiled.html:34 + interval执行 2018/1/30 下午5:41:54 count= 2

testfiled.html:34 + interval执行 2018/1/30 下午5:41:55 count= 3

testfiled.html:34 + interval执行 2018/1/30 下午5:41:56 count= 4

testfiled.html:27 count=15,开始清理

testfiled.html:29 清理结束

testfiled.html:30 清理interval 2018/1/30 下午5:41:56 count= 5

testfiled.html:30 undefined

testfiled.html:34 + interval执行 2018/1/30 下午5:41:57 count= 5

testfiled.html:20 foo执行 2018/1/30 下午5:42:02 count= 6

testfiled.html:20 foo执行 2018/1/30 下午5:42:03 count= 6

testfiled.html:20 foo执行 2018/1/30 下午5:42:04 count= 6

testfiled.html:20 foo执行 2018/1/30 下午5:42:05 count= 6

testfiled.html:20 foo执行 2018/1/30 下午5:42:06 count= 6

testfiled.html:20 foo执行 2018/1/30 下午5:42:07 count= 6


慕勒3428872
浏览 1162回答 4
4回答

喵喔喔

//大概没注意,多写了一层console.log();console.log(console.log("清理interval",t.toLocaleString(),"count=",count))// myVar的值为undefinedvar myVar = console.log("清理interval",t.toLocaleString(),"count=",count);console.log(myVar);

慕斯王

console.log没有返回值&nbsp; &nbsp; &nbsp; &nbsp; if(count==5){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.log("count=15,开始清理")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; clearInterval(interval)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.log("清理结束")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //下面一嵌套了一层console.log&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.log(console.log("清理interval",t.toLocaleString(),"count=",count))&nbsp; &nbsp; &nbsp; &nbsp; }

守着星空守着你

这个undfined来自你调用的某个没有手动return的方法。这个方法可能是你写的也可能是来自js内部的,因为我们知道一个方法如果没有手动return的话会默认返回undefined。最简单的例子就是console.log('anything');的控制台输出,如下这个undefined就来自js的console.log方法,因为他没有手动return。

繁华开满天机

console.log(console.log("清理interval",t.toLocaleString(),"count=",count))多了一个 console.log
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript