zoukankan      html  css  js  c++  java
  • 5.函数

    函数

    学习要点:
    1.函数声明
    2.return返回值
    3.arguments对象

    函数是定义一次但却可以调用或执行任意多次的一段JS代码。函数有时会有参数,即函数被调用时指定了值的局
    部变量。函数常常使用这些参数来计算一个返回值,这个值也成为函数调用表达式的值。

    一、函数声明

    函数对任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调
    用执行。ECMAScript中的函数使用function关键字来声明,后跟一组参数以及函数体。

    function box(){ //没有参数的函数
    alert("只有函数被调用时,我才会被之执行"); //函数本身没有运行功能,必须调用才能执行
    }
    box(); //直接调用函数,box();可以放在函数前面

    function box(name , age){ //带参数的函数
    alert('你的姓名:'+name+',年龄:'+age);
    }
    box('journey',23); //调用函数,并传参


    二、return返回值

    带参和不带参的函数,都没有定义返回值,而是调用后直接执行的。实际上,任何函数都可以通过return语句跟
    后面的要返回的值来实现返回值。

    function box(){ //没有参数的函数
    return'我被返回了!'; //通过return把函数的最终值返回
    }
    alert(box()); //调用函数会得到返回值,然后外面输出


    function box(name,age){ //有参数的函数
    return'你的姓名:'+name+',年龄:'+age; //通过return把函数的最终值返回
    }
    alert(box('journey',23)); //调用函数得到返回值,然后外面输出


    我们还可以把函数的返回值赋给一个变量,然后通过变量进行操作。
    function box(num1,num2){
    return num1*num2;
    }
    var num = box(10,5); //函数得到的返回值赋给变量
    alert(num);

    return语句还有一个功能就是退出当前函数,注意和break的区别。PS:break用在循环和switch分支语句里。
    当一个函数遇到第一个return,就会终止函数继续往下执行

    funciton box(num){
    if(num<5) return num; //满足条件,就返回num
    return 100; //返回之后,就不执行下面的语句了
    }
    alert(box(10));

    三、arguments对象

    ECMAScript函数不介意传递进来多少参数,也不会因为参数不统一而错误。实际上,函数体内可以通过
    arguments对象来接收传递进来的参数。

    funciton box(){
    return arguments[0]+'|'+arguments[1]; //得到每次参数的值
    }
    alert(box(1,2,3,4,5,6)); //传递参数

    arguments对象的length属性可以得到参数的数量。
    funciton box(){
    return arguments.length; //使用length属性可以得到6
    }
    alert(box(1,2,3,4,5,6));

    我们可以利用length这个属性,来智能的判断有多少参数,然后把参数合理的应用。
    比如,要实现一个加法运算,将所有传进来的数字累加,而数字的个数有不确定。
    funciton box(){
    var sum = 0;
    if (arguments.length == 0) return sum; //如果没有参数,退出
    for(var i = 0 ; i < arguments.length; i++){ //如果有,就累加
    sum = sum + arguments[i];
    }
    return sum; //返回累加结果
    }
    alert(box(5,9,12));

    ECMAScript中的函数,没有像其他高级语言那种函数重载功能。
    重载就是根据参数,选择相同函数名而参数不同的函数

    function box(num){
    return num+100:
    }
    function box(num){ //会执行这个函数 第二个函数把第一个函数覆盖掉了,不具备重载功能
    return num+200;
    }
    alert(box(50)); //返回250

  • 相关阅读:
    常用命令-eval简析
    bash手册 之重定向原理与实现
    TCP/IP 编程
    SQL Server存储内幕系列
    ORACLE优化器RBO与CBO介绍总结
    24小时学通LINUX内核系列
    SQL Server 优化器+SQL 基础
    JAVA 强引用、软引用、弱引用、虚引用
    iOS 如何做才安全--逆向工程
    Python 基础学习
  • 原文地址:https://www.cnblogs.com/journey-IT/p/5260176.html
Copyright © 2011-2022 走看看