zoukankan      html  css  js  c++  java
  • JavaScript(第六天)【函数】

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

    一.函数声明

     

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

    function box() { //没有参数的函数

    alert('只有函数被调用,我才会被之执行');

    }

    box(); //直接调用函数

    function box(name, age) { //带参数的函数

    alert('你的姓名:'+name+',年龄:'+age);

    }

    box('张三',28); //调用函数,并传参

     

    二.return返回值

     

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

    function box() { //没有参数的函数

    return '我被返回了!'; //通过return把函数的最终值返回

    }

    alert(box()); //调用函数会得到返回值,然后外面输出

    function box(name, age) { //有参数的函数

    return '你的姓名:'+name+',年龄:'+age;//通过return 把函数的最终值返回

    }

    alert(box('张三', 28)); //调用函数得到返回值,然后外面输出

    我们还可以把函数的返回值赋给一个变量,然后通过变量进行操作。

    function box(num1, num2) {

    return num1 * num2;

    }

    var num = box(10, 5); //函数得到的返回值赋给变量

    alert(num);

    return语句还有一个功能就是退出当前函数,注意和break的区别。PSbreak用在循环和switch分支语句里。

    function box(num) {

    if (num < 5)  return num; //满足条件,就返回num

    return 100; //返回之后,就不执行下面的语句了

    }

    alert(box(10));

     

     

    三.arguments对象

     

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

    function box() {

    return arguments[0]+' | '+arguments[1]; //得到每次参数的值

    }

    alert(box(1,2,3,4,5,6)); //传递参数

    arguments对象的length属性可以得到参数的数量。

    function box() {

    return arguments.length; //得到6

    }

    alert(box(1,2,3,4,5,6));

    我们可以利用length这个属性,来智能的判断有多少参数,然后把参数进行合理的应用。比如,要实现一个加法运算,将所有传进来的数字累加,而数字的个数又不确定。

    function 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)); //返回结果

  • 相关阅读:
    生成大小字母以及数字混乱的6位验证码
    重写吃货联盟
    集合练习:登录注册功能
    出现并解决Navicat 报错:1130-host ... is not allowed to connect to this MySql server,MySQL
    mysql在linux的安装
    Spring4分别整合mongo2.X和3.0
    oracle数据库使用plsql(64位)时出现的问题
    spring的CXF远程服务
    spring的定时任务或者说自动任务
    jquery节点查询
  • 原文地址:https://www.cnblogs.com/sdorm/p/8335274.html
Copyright © 2011-2022 走看看