本文是金旭亮老师网易云课堂的课程笔记,记录下来,以供备忘
函数的参数
对于参数值,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>
以上所述就是本文的全部内容了,希望大家能够喜欢。
问题内容: 我希望JavaScript函数具有我设置了默认值的可选参数,如果未定义值,则使用该参数(如果传递值,则将其忽略)。在Ruby中,您可以这样操作: 这在JavaScript中有效吗? 问题答案: 从ES6 / ES2015开始,默认参数在语言规范中。 正常工作。 如果 未 传递 任何值 或 未定义, 则默认函数参数允许使用默认值初始化形式参数。 您还可以通过解构来模拟默认的命名参数: 预
问题内容: 您能否指出我跳过JavaScript中可选参数的好方法。 例如,我想在这里丢弃所有参数: 问题答案: 解: 您应该使用而不是要跳过的可选参数,因为这100%会模拟JavaScript中可选参数的默认值。 小例子: 强烈建议 :如果您有很多参数,请使用JSON,并且可以在参数列表的中间包含可选参数。看看这是如何在jQuery中完成的。
我需要使用thymeleaf从html调用一个javascript函数。在这个特定的例子中,我有一个student对象,我需要将这个student对象传递给javascript函数(edit())以便在单击按钮时进行处理。 重要代码段:
本文向大家介绍javascript 获取函数形参个数,包括了javascript 获取函数形参个数的使用技巧和注意事项,需要的朋友参考一下
按值传递 Lua 函数的参数大部分是按值传递的。值传递就是调用函数时,实参把它的值通过赋值运算传递给形参,然后形参的改变和实参就没有关系了。在这个过程中,实参是通过它在参数表中的位置与形参匹配起来的。 示例代码: local function swap(a, b) --定义函数swap,函数内部进行交换两个变量的值 local temp = a a = b b = temp
1、函数的参数类型 设置与传递参数是函数的重点,而 Python 的函数对参数的支持非常的灵活。 主要的参数类型有:默认参数、关键字参数(位置参数)、不定长参数。 下面我们将一一了解这几种参数。 2、默认参数 有时候,我们自定义的函数中,如果调用的时候没有设置参数,需要给个默认值,这时候就需要用到默认值参数了。 默认参数,只要在构造函数参数的时候,给参数赋值就可以了 例如: # -*- codin