js——return对象和闭包的夹杂求解

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script>
            function foo1()
            {
             return{
                 bar: "hello1"
             };
            }
             
            function foo2()
            {
             return
             {
                 bar2: "hello2"
             };
            }
            var a=foo1();
            var b=foo2();
            alert(a);
            alert(b);
            //为何第一次出来object object  第二次undefined
        </script>
    </body>
</html>
阅读 3.1k
6 个回答

写代码写规范好吧. 根据 javascript权威指南这本书, 所以return直接成为一个语句,返回undefined.

参考书籍中最后一张图片最后的红色部分.

clipboard.png

clipboard.png

clipboard.png

clipboard.png

为何第一次弹出 object object
alert()中会调用参数的toString方法 对象的toString 返回object object;

第二次弹出 undefined??????
按你现在贴的代码第二次弹出的内容和第一次是一样的

这是想求解啥 没看懂

第二个return后面是undefined。你把那对象提上来就对了

第二种实际上被解析成
return;
{

}

return后面不能按 回车

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题