大国工匠普拉斯金 2021-09-30 14:18 采纳率: 74.4%
浏览 67
已结题

为什么从函数里面的console.log会出现undefined呢?

   <script>
        var a = function fn() {
            return console.log(123);
        };
        console.log(a());
    </script>

img


如图控制台正确输出123后,跟着一个undefined是为什么呢?

  • 写回答

5条回答 默认 最新

  • mynamecxy 2021-09-30 15:02
    关注
    
            var a =function(){
                return console.log(123);
            }
            console.log(a());
    
    
            //上面其实就是这样的过程
    
            var a = function(){
                let result = console.log(123); //控制台打印123后。并没有返回任何数据。所以result为undefined
    
                return result; 
            }
            /*
            这里打印其实就是函数返回的result。
            所以请先思考 console.log(123); 打印输出在控制台。但是它有返回什么状态数据吗?
            很显然它并没有返回任何数据。所以result的值为undefined
    
            所以a()执行后控制台打印了123.然后返回result(值为undefined) 然后console.log将其打印。
            所以控制台打印出undefined
            */
    
            console.log(a());
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 10月10日
  • 已采纳回答 10月2日
  • 创建了问题 9月30日