• Javascript我学之三函数的参数


     本文是金旭亮老师网易云课堂的课程笔记,记录下来,以供备忘

    函数的参数         

                对于参数值,JavaScript不会进行类型检查,任何类型的值都可以被传递给参数。
                对于函数参数,如果过少,没得到值的参数值为undefined,如果过多,多的会被忽略掉。
     1         //调用函数时传入的实际参数
     2         function add(num1, num2) {
     3             return num1 + num2;
     4         }
     5         //一切正常的调用方式
     6         console.info(add(1, 2));  //3
     7         //不检查参数的类型,字串和数字可以混用
     8         console.info(add("1", 2)); //12
     9         //多余参数被忽略
    10         console.info(add(1, 2, 3));  //3
    11         //少的参数被视为undefined
    12         //1+undefined=NaN
    13         console.info(add(1));  //NaN

    检测参数是否缺失

    判断是否为 undefined

    1         //检测参数是否缺失
    2         function sayHello(name, message) {
    3             if (typeof message === 'undefined') {
    4                 message = '你好!';
    5             }
    6             console.info(name + "," + message);
    7         }
    8         sayHello("贾君鹏", "你妈喊你吃饭"); 
    9         sayHello("贾君鹏");       //贾君鹏,你好!

    保存参数的arguments对象

     利用arguments对象,写出支持任意个参数的函数。arguments像是一个数组,但实际上不是数组,所以很多数组方法是不能用的。
     1         //保存参数的arguments对象
     2         function sumNumbers() {
     3             var result = 0;
     4             for (var i = 0; i < arguments.length; i++) {
     5                 result += arguments[i];
     6             }
     7             return result;
     8         }
     9       console.info(sumNumbers(1, 2));  //3
    10       console.info(sumNumbers(1, 2, 3));  //6
                    

    函数对象的length属性  

                   arguments.length       函数接收的实参个数
                    函数名.length             函数定义的形参
     1         //函数对象的length属性
     2         function sayName(name){
     3             console.info(name);
     4         }
     5         function sum(num1, num2){
     6             return num1 + num2;
     7         }
     8         function sayHi(){
     9             console.info("hi");
    10         }
    11         console.info(sayName.length); //1
    12         console.info(sum.length); //2
    13         console.info(sayHi.length); //0 
     

    作为参数的函数对象

    函数是一个对象,可以作为另一个函数的参数
    1         //作为参数的函数对象
    2         function callSomeFunction(func, argu) {
    3             return func(argu);
    4         }
    5         function getGreeting(name) {
    6             return "Hello, " + name;
    7         }
    8         var result = callSomeFunction(getGreeting, "jxl");
    9         console.info(result);  //Hello,jxl

    使用命名/匿名函数作为函数参数

    1         var callTwice = function (otherFunc) {
    2             otherFunc();
    3             otherFunc();
    4         };
    5         callTwice(function () {
    6             console.info("this is a function");
    7         });

    函数作为参数实例:

    1     <script>
    2         var button = document.getElementById('btnClick');
    3         var result = document.getElementById('result');
    4         var clickCount = 0;
    5         button.addEventListener('click', function () {
    6             clickCount++;
    7             result.setAttribute('value', clickCount+': Hello,world!');
    8         })
    9     </script>
    运行:

     

     
  • 相关阅读:
    数据库-第十章 数据库恢复技术-10.5 恢复策略
    数据库-第十章 数据库恢复技术-10.4 恢复的实现技术
    数据库-第十章 数据库恢复技术-10.3 故障的种类
    数据库-第十章 数据库恢复技术-10.2 数据库恢复概述
    数据库-第十章 数据库恢复技术-10.1 事务的基本概念
    数据库-第九章 关系查询处理和查询优化-9.4 物理优化
    数据库-第九章 关系查询处理和查询优化-9.3 代数优化
    数据库-第九章 关系查询处理和查询优化-9.2 关系数据库系统的查询优化
    数据库-第九章 关系查询处理和查询优化-9.1 关系数据库系统的查询处理
    编译原理-第五章 语法制导翻译-5.2 语法制导翻译的应用
  • 原文地址:https://www.cnblogs.com/xiaoguanqiu/p/4646817.html
Copyright © 2020-2023  润新知