首页 > 编程 > JavaScript > 正文

Javascript函数的参数

2019-11-20 12:02:28
字体:
来源:转载
供稿:网友

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

函数的参数         

            对于参数值,JavaScript不会进行类型检查,任何类型的值都可以被传递给参数。
            对于函数参数,如果过少,没得到值的参数值为undefined,如果过多,多的会被忽略掉。

  //调用函数时传入的实际参数  function add(num1, num2) {    return num1 + num2;  }  //一切正常的调用方式  console.info(add(1, 2)); //3  //不检查参数的类型,字串和数字可以混用  console.info(add("1", 2)); //12  //多余参数被忽略  console.info(add(1, 2, 3)); //3  //少的参数被视为undefined  //1+undefined=NaN  console.info(add(1)); //NaN

检测参数是否缺失
判断是否为 undefined

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

保存参数的arguments对象

 利用arguments对象,写出支持任意个参数的函数。arguments像是一个数组,但实际上不是数组,所以很多数组方法是不能用的。

  //保存参数的arguments对象  function sumNumbers() {    var result = 0;    for (var i = 0; i < arguments.length; i++) {      result += arguments[i];    }    return result;  } console.info(sumNumbers(1, 2)); //3 console.info(sumNumbers(1, 2, 3)); //6

函数对象的length属性  

               arguments.length       函数接收的实参个数
                函数名.length             函数定义的形参

 //函数对象的length属性 function sayName(name){   console.info(name); } function sum(num1, num2){   return num1 + num2; } function sayHi(){   console.info("hi"); } console.info(sayName.length); //1 console.info(sum.length); //2 console.info(sayHi.length); //0  

作为参数的函数对象
函数是一个对象,可以作为另一个函数的参数

 //作为参数的函数对象 function callSomeFunction(func, argu) {   return func(argu); } function getGreeting(name) {   return "Hello, " + name; } var result = callSomeFunction(getGreeting, "jxl"); console.info(result); //Hello,jxl

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

  var callTwice = function (otherFunc) {    otherFunc();    otherFunc();  };  callTwice(function () {    console.info("this is a function");  });

函数作为参数实例:

<script>  var button = document.getElementById('btnClick');  var result = document.getElementById('result');  var clickCount = 0;  button.addEventListener('click', function () {    clickCount++;    result.setAttribute('value', clickCount+': Hello,world!');  })</script>

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表