本文给大家分享的是网易云课堂中金旭亮老师的课堂笔记,对于大家学习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=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>
以上所述就是本文的全部内容了,希望大家能够喜欢。
新闻热点
疑难解答
图片精选