首页 > Js/Jquery

Javascript我学之三函数的参数

发表于2015-07-15 15:54:35| --次阅读| 来源webkfa| 作者js,javascript

摘要:本文是金旭亮老师网易云课堂的课程笔记,记录下来,以供备忘函数的参数 对于参数值,JavaScript不会进行类型检查,任何类型的值都可以被传递给参数。 对于函数参数,如果过少,没得到值的参数值为undefined,如果过多,多的会被忽略掉。 1 //调用...

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

函数的参数         

            对于参数值,JavaScript不会进行类型检查,任何类型的值都可以被传递给参数。
            对于函数参数,如果过少,没得到值的参数值为undefined,如果过多,多的会被忽略掉。
1         //调用函数时传入的实际参数
        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

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

保存参数的arguments对象

 利用arguments对象,写出支持任意个参数的函数。arguments像是一个数组,但实际上不是数组,所以很多数组方法是不能用的。
1         //保存参数的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             函数定义的形参
1         //函数对象的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 
 

作为参数的函数对象

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

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

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

函数作为参数实例:

1     <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>
运行:

 

 

 

 

 

 

相关文章

猜你喜欢

学到老在线代码浏览器 关闭浏览
友情链接: hao123 360导航 搜狗网址导航 114啦网址导航 博客大全
Copyright © 1999-2014, WEBKFA.COM, All Rights Reserved  京ICP备14034497号-1