Javascript函数的参数

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

函数的参数

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

rush:js;"> //调用函数时传入的实际参数 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

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

保存参数的arguments对象

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

rush:js;"> //保存参数的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,3)); //6

函数对象的length属性

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

rush:js;"> //函数对象的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

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

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

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

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

函数作为参数实例:

rush:js;">

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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...