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代码更简洁易读。

JavaScript基础——创建函数的更多相关文章

  1. (Frontend Newbie)JavaScript基础之函数

    函数可以说是任何一门编程语言的核心概念.要能熟练掌握JavaScript,对于函数及其相关概念的学习是非常重要的一步.本篇从函数的基本知识.执行环境与作用域.闭包.this关键字等方面简单介绍Java ...

  2. JavaScript基础学习-函数及作用域

    函数和作用域是JavaScript的重要组成部分,我们在使用JavaScript编写程序的过程中经常要用到这两部分内容,作为初学者,我经常有困惑,借助写此博文来巩固下之前学习的内容. (一)JavaS ...

  3. JavaScript 基础回顾——函数

    在JavaScript中,函数也是一种数据类型,属于 function 类型,所以使用Function关键字标识函数名.函数可以在大括号内编写代码并且被调用,作为其他函数的参数或者对象的属性值. 1. ...

  4. JavaScript基础之函数与数组

     函数    函数的基本概念 为完成某一功能的程序指令(语句)的集合,称为函数.有的程序员把函数称为方法,希望大家不要被这两个名词搞晕了. 函数分为:自定义函数.系统函数(经常查看js帮助手册). j ...

  5. javascript基础(五)函数

    原文http://pij.robinqu.me/ 通过call和apply间接调用函数(改变this) call 和 apply带有多个参数,call和apply把当前函数的this指向第一个参数给定 ...

  6. Javascript 基础--JS函数(三)

    一.基本概念:未完成某一个功能的代码(语句,指令)的集合. 二.函数的调用方式: 2.1.函数名(传递参数1,传递参数2)   基本语法 function 函数名(参数列表){ //代码; retur ...

  7. javascript基础-js函数

    一.创建函数的方式 1)普通方式 function cal( num1, num2 ) { return num1+num2; } 2)使用变量初始化方式 var plus = function(nu ...

  8. javascript基础知识-函数

    1.javascript中函数有两种定义方式: 函数语句定义和表达式定义 //函数有定义 function test(){ console.log("This is a function&q ...

  9. Javascript基础--成员函数(六)

    成员函数:也叫方法 1.常用方法 比如:我们希望对象不但有属性,还希望他有行为.(行为在程序中要靠函数来体现)(1) 添加speak函数,输出我是一个好人 (2) 添加jisuan函数,可以计算从1+ ...

随机推荐

  1. Unity手游之路<七>角色控制器

    Unity手游之路<七>角色控制器 我们要控制角色的移动,可以全部细节都由自己来实现.控制角色模型的移动,同时移动摄影机,改变视角.当然Unity也提供了一些组件,可以让我们做更少的工作, ...

  2. header()相关

    header("Content-type: text/html; charset=utf-8"); header("refresh:3;url=biaodan.php?n ...

  3. 小白死去活来的安装ros_qtc_plugin

    在距离写上一篇有关ROS的文章已经过去了很久了.在这段时间内一直在积累,盼望着能够厚积薄发,但还是被无情的社会折磨的死去活来,深深的体会到了一般学校和重点学校找工作的差别,以及用人单位的区别对待.说到 ...

  4. PHP 中的行为 ,与什么是切面

    行为(Behavior)扩展以及插件(Plug or Hook)详解: 行为(Behavior)是ThinkPHP扩展机制中比较关键的一项扩展,行为即可以独立调用,也可以绑定到某个 标签中进行监听,官 ...

  5. C语言的执行

    在ANSIC 的任何一种实现中,有两种不同的环境 翻译环境:将源代码转换为可执行的机器代码 执行环境:用于执行代码 这两种环境可以运行于同一个机器上,也可以运行于不同的机器上 例如交叉编译器:在一台机 ...

  6. Java通过httpclient获取cookie模拟登录

    package Step1; import org.apache.commons.httpclient.Cookie; import org.apache.commons.httpclient.Htt ...

  7. PyQt4关闭最大化最小化取消双击最大化

    self.setWindowFlags(Qt.Window | Qt.WindowTitleHint | Qt.WindowCloseButtonHint | Qt.CustomizeWindowHi ...

  8. python 模块之间的变量共享

    才疏学浅,只知道两种方式: 1. 通过__builtin__实现: builtin1.py import __builtin__ __builtin__.some_global_var_among_m ...

  9. Extjs PROXY查询params无法传参,改用extraParams

  10. 转:JQuery读写Cookie

    Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术.当你浏览某网站时,你硬盘上会生产一个非常小的文本文件,它可以记录你的用户ID.密码.浏览过 ...