JS有无返回语句

JS有无返回语句

在定义函数时经常会考虑到有无返回语句,今天一起来探讨JS函数的返回语句,分为三种情况:
1.没有返回语句;
2.返回语句为字符串;
3.返回匿名函数。

没有返回语句

没有返回值

<script>
        // 函数没有返回语句
        var Demo = function() {
            console.log("Hello!");
        }
        Demo(); //单纯调用Demo函数,不输出return语句;
        console.log(Demo()); //加括号,是返回值,调用Demo()函数,并且输出返回结果,没有返回结果是undefined;
        console.log(Demo); //不加括号,是构造函数本身;
</script>

返回语句为字符串

返回字符串

<script>
		// 函数有返回语句,返回语句是字符串
        var Demo = function() {
            console.log("Hello!");
            return "执行了函数的返回语句!";
        }
        Demo(); //单纯调用Demo函数,不输出return语句;
        console.log(Demo()); //加括号,是返回值,调用Demo()函数,并且输出返回结果,没有返回结果是undefined;
        console.log(Demo); //不加括号,是构造函数本身;
</script>

返回匿名函数

返回匿名函数

<script>
		// 函数有返回语句,返回语句是匿名函数
        var Demo = function() {
            console.log("Hello!");
            return function() {
                console.log("执行函数返回语句...");
            }
        }
        Demo(); //单纯调用Demo函数,不输出return语句;
        console.log(Demo() + "\n\n"); //加括号,是返回值,调用Demo()函数,并且输出返回结果,没有返回结果是undefined;
        console.log(Demo()() + "\n\n");
        /*
            Demo()()可以视为(Demo())()
            因为return匿名函数,所以Demo()代表返回匿名函数,再次利用Demo()()小括号调用匿名函数,输出匿名函数中的语句
            但是匿名函数是没有返回值的,所以输出undefined
        */
        console.log(Demo); //不加括号,是构造函数本身; */
</script>

小白一个,会有错误的地方,欢迎大佬指导!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值