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

  • 相关阅读:
    将PHP文件生成静态文件源码
    Entity Framework Code First 学习日记(6)一对多关系
    Entity Framework Code First 学习日记(5)
    Entity Framework Code First 学习日记(3)
    Entity Framework Code First 学习日记(7)多对多关系
    Entity Framework Code First学习日记(2)
    Entity Framework Code First 学习日记(8)一对一关系
    Entity Framework Code First 学习日记(9)映射继承关系
    Entity Framework Code First 学习日记(10)兼容遗留数据库
    Entity Framework Code First 学习日记(4)
  • 原文地址:https://www.cnblogs.com/sdorm/p/8335274.html
Copyright © 2011-2022 走看看