美文网首页程序员Web前端之路
review javascript 05:函数(一)

review javascript 05:函数(一)

作者: 蝴蝶结199007 | 来源:发表于2017-03-29 23:56 被阅读36次

    (1)知识点

    • (1.1)定义:封装一项任务的步骤清单的代码段,再起一个任务名

    • (1.2)声明函数:function 函数名(参数1,参数2,...){代码片段;return;}

    • (1.3)调用函数:函数名(变量1,变量2,...)

    • (1.4)函数执行:被调用时才会执行;可以被反复调用

    • (1.5)参数变量
      1.参数变量:专门接收方法执行所必须的数据的变量
      2.何时使用:如果一个函数,必须提供指定数据,才能正常执行时,需要提供几个数据,就定义几个参数接收
      3.如何定义参数:不需要var,直接在函数名后的括号中定义参数名,每个参数名之间用逗号分隔
      4.何时,如何传入参数值:调用时,按照参数定义的个数和顺序传入
      5.为什么使用参数:参数可让方法变的更灵活

    • (1.6)作用域:【全局变量作用域】和【局部变量作用域】


      Paste_Image.png
    • (1.7)按值传递:两变量间赋值或向函数中传递参数时,都是将原变量中的值复制一个副本给对方,修改一方,另一方不受影响


    (2)细化


    (3)实践

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    
    </body>
    </html>
    
    <script type="text/javascript">
        init();
    
        var a = 1;//全局变量a
        var b = 2;//全局变量b
        //其实本质上还有一个对象来专门存储全量变量
        var globalVar = new Array();
        globalVar[0] = a;
        globalVar[1] = b;
    
    
        function init() {
            /**
             * 'p':传入方法的值
             *  1 :传入方法的值
             * createRepeatStr 可以被反复调用
             */
            createRepeatStr('p', 1);
            createRepeatStr('h', 2);
            createRepeatStr('f', 3);
    
            noReturn();
            //返回值,赋值给totalVal
            var totalVal = calcNumberTotalVal(10);
    
            // 2个变量间赋值,会拷贝一份副本
            var name = 'phf';
            var name2 = name;
            name = 'hzq';
            console.log(name);//'hzq'
            console.log(name2);//'phf'
    
            // 函数赋值,也会拷贝一份副本
            var num1 = 10
            var totalVal1 = calcNumberTotalVal(num1);
            num1 = 20;
            console.log(totalVal1);//45
            console.log(num1);//20
        }
    
        /**
         * 函数作用:创建重复的字符串
         * 函数名:createRepeatStr
         * @param repeatVal :重复值
         * @param repeatCount :重复次数
         */
        function createRepeatStr(repeatVal, repeatCount) {
            //var rtnStr = null; 这里不能使用null,因为拿null+str = nullstr
            var rtnStr = '';//一定要自己实践,看到自己预期的结果
            for (var i = 0; i < repeatCount; i++) {
                rtnStr += repeatVal;
            }
            console.log(rtnStr);
            return rtnStr;
        }
    
        function noReturn() {
            console.log('我这个函数,没有return,仅仅在console侧打印一句话')
        }
    
        function calcNumberTotalVal2(num) {
            if (num > 10) {
                // 希望函数不继续往下执行
                return;
            }
    
            var rtn = 0;
            for (var i = 0; i < num; i++) {
                rtn += i;
            }
            return rtn;
        }
    
        function calcNumberTotalVal(num) {
            var rtn = 0;
            for (var i = 0; i < num; i++) {
                rtn += i;
            }
            return rtn;
        }
    
    
    </script>
    

    相关文章

      网友评论

        本文标题:review javascript 05:函数(一)

        本文链接:https://www.haomeiwen.com/subject/nhayottx.html