007 JavaScript的函数2

目录

001 return

002 随机数字验证码

第一个方法:

第二个方法:

003 短路赋值

004 求和

005 求最大公约数

006 作用域

007 匿名函数

008 系统函数

         // alert()    // 没有返回值


001 return

   给函数一个返回值、会提前结束整个函数

        判断一个数是不是质数

         思  考 :

           1、参数和返回值

           2、参数:给我一个数

           3、返回值:我告诉你是不是

002 随机数字验证码

第一个方法:

<input type="text" id="inp">
    <button id="btn">刷新</button>

    <script>


        // 娶不到最大值
        function rand(min , max) {  
            return parseInt(Math.random() * (max - min) + min)
        }

        function get(id) {  
            return document.getElementById(id)
        }

        // 随机四位数字验证码 
        //   方法1:生成一个四位数 1000 - 10000  
        var n = rand(1000 , 10000) ;
        console.log(n);  // 缺点:第一个数不可能是0 (不影响功能的实现)


第二个方法:

    function rand(min , max) {
    return parseInt(Math.random()*(max-min)+min)
    
    }

    function randcode(x) {
    var res = ''
    for(var i = 0 ; i < x ; i++){
        var n = rand(0 , 10)
        res += n;
    }
    return res
    }




    <input type="text" name="" id="inp1">
    <button id="btn">刷新验证码</button>

    <script src="../js/tool6.js"></script>

    <script>

        var oInp1 =get('inp1')
        var oBtn =get('btn')
     
        // 页面打开的时候,就要显示验证码
        oInp1.value = randcode(4)

        oBtn.onclick = function(){

            oInp1.value = randcode(4)

        }




    </script>

003 短路赋值

// 或   见真即真

// 与   见假即假
     

  // 短路赋值

        var n = 1 || 2 ;    // n = (1 || 2)   // n = 1

        console.log(n);



        var n = 0 || 3 ;    // n = (0 || 3)   // n = 3

        console.log(n);



        var n = 1 && 2 ;   // n = (1 && 2)   // n = 2



        var n = 0 && 3 ;   // n = (0 && 3)   // n = 0

004 求和

 // 编写一个函数sum(n)

            // 当传入n为偶数时,调用函数求1/2 + 1/4 + ... + 1/n

            // 当传入n为奇数时,调用函数求1 + 1/3 + ... + 1/n

    function Sum(n) {
    var res = 0
    for(var i = n % 2 ? 1 : 2; i <= n ; i += 2){
        res += 1 / i;
    }
    return res
    }






    <input type="text" name="" id="inp1">
    <p>
    <input type="text" name="" id="inp2">
    </p>
    <button id="btn">合计</button>

    <script src="../js/tool6.js"></script>

    <script>

        var oInp1 = get('inp1')
        var oInp2 = get('inp2')
        var oBtn =get('btn')

       oBtn.onclick =function(){
            var y = oInp1.value ;

            
            
             oInp2.value = Sum(y) 

           
            

        }

    </script>


005 求最大公约数

    


    function Gys(x , y) {
    var max = 0 ;
    //谁小就选谁
    for (var i = 1 ; i <( x > y ? y : x );i++){
        if(x % i === 0 && y % i === 0){
            max = i   
          
            }
        }
        return max
    }



006 作用域

 // 变量是有作用域

        //    全局作用域 -- 全局变量      

        //       在函数外面声明的变量

        //       没有var 的变量

        //    局部作用域  -- 局部变量

        //       在函数内部声明的变量
 

        // 变量可以重复的声明

        // 变量可以不声明,直接赋值

        // 当函数内部的变量名和外部的变量相同时,优先使用自己的  --- 同名不同人

         // 变量的作用域

        //    优先找自己的,自己找不到就找向上一级查找,一直找到script为止,一直找不到就报错

    

         var a = 4 ;
            console.log(a);  // 4

            var a = 5 ;   // 5
    
            b = 6 ;
            console.log(b);


            function fn() {  
                // 变量是在函数内部声明的,只能在函数内部使用
                var c = 9 ;
                console.log(c);
                // 没有var,此变量默认为全局变量
                d = 10 ;
                var b = 20 ;
                console.log(b);  // 20
            }


            fn()


            //  console.log(c);  // 报错  c是局部变量

                console.log(d);

                console.log(b);  // 6







007 匿名函数

 // 匿名函数的自调用   -- 一次性的函数       



~function (n) {  

            console.log(n);

        }(666)

008 系统函数

         // alert()    // 没有返回值

       

        // // 有输入框的弹窗

        // var res = prompt('请输入你的名字');

        // console.log(res);

        // // 确定弹窗

        // var res = confirm('确定要删除我吗');   // 返回布尔值

        // console.log(res);

        

        // eval()  能计算的时候,就计算,不能计算时,直接报错

        // console.log(eval('1 + 2a'));

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值