js函数小案例

<!-- <script>

        /*

        编写任意个第一个数字为1的数字的求和、差、积、商的函数   sum(1,2,3,4,5,6,'-')

        function sum() {}

        // 1-2-3

        sum(1, 2, 3, "-");

        //   1+2

        sum(1, 2, "+");

        */

        /*

        分析:

            1.我们要获取实参通过  arguments ,因为最后一位是加减乘除,要减掉

            for(var i=0;i<arguments.length-1;i++){

                console.log(arguments[i])

            }

            2.获取最后一个加减乘除做判断

            arguments[arguments.lenth-1]

        */

        function fn(){

            // 通过规律我们发现无论加减乘除第一个数字都是1

            var sum = 1;

            var last = arguments[arguments.length-1]

            // 因为第一个值被确定,直接从索引1开始

            for(var i=1;i<arguments.length-1;i++){

                switch(last){

                    case '+':

                        sum += arguments[i]

                        break;

                        case '-':

                        sum -= arguments[i]

                        break;

                        case '*':

                        sum *= arguments[i]

                        break;

                        case '/':

                        sum /= arguments[i]

                        break;

                }

            }

            return sum

        }

        var res1 = fn(1,2,3,'+')

        var res2 = fn(1,2,3,'-')

        var res3 = fn(1,2,3,'*')

        var res4 = fn(1,2,3,'/')

        console.log(res1)

        console.log(res2)

        console.log(res3)

        console.log(res4)

    </script> -->

    <!-- <script>

        /*

            编写生成4位数字验证码的函数

            并调用10次

            提示:使用Math.random()函数可以产生[0-1)之间的随机小数

            Math.random()函数可以产生[0-1)*10 --》取整--》[0,9]

        */

        function fn(){

            // 定义一个str对num变量的值进行字符串的隐式转换

            var str = ""

            for(var i=0;i<4;i++){

                var num = parseInt(Math.random()*10)

                str = str+num

            }

            return str

        }

        var res = fn()

        // 得到一个4位数的验证码,复制十份打印十个

        console.log(res)

    </script> -->

    <!-- <script>

        /*

        编写一个函数,计算任意两个数字之间所能组成的奇数个数,数字必须是个位数

        比如: 计算0-3之间能组成的奇数个是01、03、11、13、21、23、31、33

        0 1 2 3    --》1 3 --》01 2 3

        */

        function fn(a,b){

            // 定义次数等于0

            var times = 0

            // 第一层循环控制个位数

            for(var i=a;i<=b;i++){

                // 第二层循环控制十位数

                for(var j=a;j<=b;j++){

                    // 定义num就是这两个数的组成

                    var num = i+j*10

                    // 判断当求余不等于0时,说明是奇数

                    if(num%2 != 0){

                        // console.log(num)

                        // 条件符合次数加1

                        times++

                    }

                }

            }

            return times

        }

        var res = fn(0,3)

        // 得到结果是:8

        console.log(res)

    </script> -->

    <!-- <script>

        /*

            某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,

            然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,请编写一个函数,传入原文,

            输出密文

        */

        /*

            分析:

            // 得到个位十位百分千位的数字:1234

            // 最后没交换位数之前

            密文个位:parseInt(1234/1)=1234   %10  得到4   +5  得到9

            密文十位:parseInt(1234/10)=123   %10  得到3   +5  得到8

            密文百位:parseInt(1234/100)=12   %10  得到2   +5  得到7

            密文十位:parseInt(1234/1000)=1   %10  得到1   +5  得到6    

            var g = (parseInt(num/1)%10+5)%10

            var s = (parseInt(num/10)%10+5)%10

            var b = (parseInt(num/100)%10+5)%10

            var q = (parseInt(num/1000)%10+5)%10

            // 交换位置后:

            var q = (parseInt(num/1)%10+5)%10

            var b = (parseInt(num/10)%10+5)%10

            var s = (parseInt(num/100)%10+5)%10

            var g = (parseInt(num/1000)%10+5)%10

        */

        function fn(num){

            var q = (parseInt(num/1)%10+5)%10

            var b = (parseInt(num/10)%10+5)%10

            var s = (parseInt(num/100)%10+5)%10

            var g = (parseInt(num/1000)%10+5)%10

            // 进行拼接

            var str = ""+q+b+s+g

            // 转数字类型

            return Number(str)

        }

        var res = fn(1234)

        // 得到的结果是:9876

        console.log(res)

    </script> -->

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值