Welcome 微信登录

首页 / 脚本样式 / JavaScript / Javascript函数的参数

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

            对于参数值,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=NaNconsole.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>
以上所述就是本文的全部内容了,希望大家能够喜欢。