JavaScript基础——创建函数

  JavaScript的最重要的一个部分是制作其他代码可以重用的代码。要做到这一点,你可以把代码组织成执行特定任务的函数。函数是结合在一个单一的块中,并给予一个名称的一系列代码语句。然后,你就可以通过引用该名称来执行块中的代码。

  1、定义函数

  你可以使用function关键字后跟一个描述该函数用途的名称、在()中的零个或多个参数的列表,以及在{}块中的一个或多个代码语句来定义一个函数。例如,下面是一个网控制台写入"Hello World"的函数的定义:

  function myFunction(){

    console.log("Hello World");

  }

  要执行myFunction()中的代码,你需要做的所有工作就是在主JavaScript,或者在另一个函数中添加下面一行:

    myFunction();

  

  2、传递变量给函数

  你经常需要将特定的值传递给函数,而函数在执行他们的代码时,将使用这些值。通过以逗号分隔的形式将值传递到函数。函数定义需要在()中有一个与传递进来的值的数量匹配的变量名列表。例如,下面的函数接受两个参数,name(名字)和city(城市),并使用它们来构建输出字符串:

    function greeting(name,city){

      console.log("Hello" + name);

      console.log(". How is the weather in" + city);

    }

  要调用greeting()函数,你需要传递一个name值和一个city值。该值可以是直接的值或先前定义的变量。为了说明这一点,下面的代码执行一个name变量,和以一个直接字符串作为city的greeting()函数:

    var name = "Brad";

    greeting(name,"Florence");

 

  3、从函数返回值

  通常情况下,一个函数需要返回一个值给调用代码。我们添加一个后面跟着变量或值的return关键字从函数返回值。例如,下面的代码调用一个函数来格式化字符串,把该函数返回的值赋给一个变量,然后将该值写入控制台:

    function formatGreeting(name,city){

      var retStr = "";

      retStr += "Hello <br>" + name + "/n";

      retStr += "Welcome to" + city +"!";

    return retStr;

    }

    var greeting = formatGreeting("Brad","Rome");

    console.log(greeting);

  你可以在函数中包含不止一个return语句。当函数遇到一个return语句时,函数的执行代码会立即停止。如果return语句包含要返回的值,则返回该值。下面的例子展示了一个函数,他测试输入,并且如果输入是零,就立即返回:

    function myFunc(value){

      if (value == 0)

        return value;

       <如果值不为零,要执行的代码>

       return value;

    }

  

  4、使用匿名函数

  到目前为止,你已经看到的所有例子都显示命名的函数。在JavaScript中还可以创建匿名函数。这些函数的好处是:当你调用其他函数时,可以在参数组中直接定义它们。因此,你并不需要正式的定义。

  例如,下面的代码定义了一个函数doCalc(),它接受3个参数。前两个参数应该是数值,第3个参数是一个将被调用,并把这两个数值作为参数传入的函数:

    function doCalc(num1,num2,calcFunction){

      return calcFunction(num1,num2);

    }

  你可以定义一个函数,然后将不带参数的函数名传递给doCalc(),如下面的例子所示:

    function addFunc(n1,n2){

      return n1 + n2;

    }

    doCalc(5,10,addFunc);

  但是,你还可以选择在doCalc()的调用中直接使用一个匿名函数,如下面这两个语句所示:

    console.log(doCalc(5,10,function(n1,n2){return n1+n2;}));

    console.log(doCalc(5,10,function(n1,n2){return n1*n2;}));

  你或许可以看到,使用匿名函数的好处是,你不需要正式定义将不再代码的其他任何地方使用的东西。因此,匿名函数使JavaScript代码更简洁易读。

 

posted @ 2015-12-05 16:31  姜腾腾  阅读(1182)  评论(0编辑  收藏  举报