javascript中return的用法以及作用

1.在当前位置跳出函数,不再执行后面的内容
function fn(){
   var x=1;
    return;//在当前位置跳出函数,不再执行后面的内容
    x++;
    console.log(x);
}

fn();

不打印任何内容

2.返回一个数据

局部变量和参数当函数运行完成后会清除,所以如果想让函数外部用到值就需要return返回出去

 function fn1(a,b){
     var sum=a+b;
     // 如果没有使用return返回数据,意味着返回了一个undefined
     return sum;
 }

 var s=fn1(3,5);
 console.log(s)//8
3.多分支条件语句的使用

写个1000以内任意数字变成中文

例如

	24  "二十四";
    20 "二十";
    10 "十";
    5 "五";
    15 "十五";
    104 "一百零四";
    120 "一百二十";
    125 "一百二十五";
    115 '一百一十五';
var arr = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"];
function enToCh(num, bool) {
    if (num % 100 === 0) return arr[num / 100] + "百";
    if (num > 100 && num % 10 === 0) return arr[parseInt(num / 100)] + "百" + arr[num / 10 % 10] + "十";
    if (num === 0 || num === 10) return arr[num];
    if (num < 10) return bool ? "零" + arr[num] : arr[num];
    if (num < 20) return "十" + arr[num % 10];
    if (num % 10 === 0) return arr[num / 10] + "十";
    if (num < 100) return arr[parseInt(num / 10)] + "十" + arr[num % 10];
    if (num % 100 < 10) return arr[parseInt(num / 100)] + "百零" + arr[num % 10];
    return arr[parseInt(num / 100)] + "百" + arr[parseInt(num / 10) % 10] + "十" + arr[num % 10];
}


console.log(enToCh(300));
4.工厂模式的使用
function fn(a,b){
    var obj={a:1,b:2};
    obj.a+=a;
    obj.b*=b;
    return obj;
}

var o=fn(3,5);
var o1=fn(3,5);
console.log(o===o1);//false  局部变量和参数当函数运行完成一次后会清除
//所以o和o1的引用地址不同
5.单例模式的使用(只能创建一个)
var o;
function fn(a,b){
    o=o || {};
    o.a=a;
    o.b=b;
    return o;
}

var s=fn(3,5);
var s1=fn(4,6);
console.log(s);
console.log(s1);
console.log(s===s1);

打印结果如下:
在这里插入图片描述

6.通过参数传入对象
function fn(o){
    o.a=10;
    o.b=20;
    return o;
}


var o=fn({});
console.log(o);

打印结果如下:
在这里插入图片描述

7.如果传入的是一个函数,返回的是回调函数的结果
function fn(f){
   return f();
}

function fn1(){
    return 10;
}

var num=fn(fn1);
console.log(num);//10

8.返回一个私密对象
function fn(){
    var a=1;
    function fn1(){
        return a;
    }
    return fn1;
}

var a=fn()();
console.log(a);//1
9.返回一个函数体
function fn(a){
   return function(b){
       return a+b;
   }
}

var sum= fn(5)(6);
console.log(sum);//11
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值