1、什么是函数

  函数的作用,可以写一次代码,然后反复地重用这个代码。

  如:我们要完成多组数和的功能。

  var sum;
  sum = 3+2;
  alert(sum);   sum=7+8 ;
  alert(sum);
  
  .... //不停重复两行代码

  如果要实现8组数的和,就需要16行代码,实现的越多,代码行也就越多。所以我们可以把完成特定功能的代码块放到一个函数里,直接调用这个函数,就省去重复输入大量代码的麻烦。

  使用函数完成:

  function add2(a,b){
  sum = a + b;
   alert(sum);
  } // 只需写一次就可以   add2(3,2);
  add2(7,8);
  .... //只需调用函数就可以

2、如何定义函数

  如何定义一个函数呢?看看下面的格式:

  function  函数名( )
  {
   函数体;
  }

  function定义函数的关键字,“函数名”你为函数取的名字,“函数体”替换为完成特定功能的代码。

  我们完成对两个数求和并显示结果的功能。并给函数起个有意义的名字:“add2”,代码如下:

  <script type="text/javascript">
   function add2(){
   sum = 3 + 2;
   alert(sum);
  }
   ​add2();
  </script>

  结果: 

  

3、函数调用

  函数定义好后,是不能自动执行的,需要调用它,直接在需要的位置写函数名。

  第一种情况:在<script>标签内调用。

    <script type="text/javascript">
   function add2()
    {
   sum = 1 + 1;
   alert(sum);
   }
   add2();//调用函数,直接写函数名。
  </SCRIPT>

  第二种情况:在HTML文件中调用,如通过点击按钮后调用定义好的函数。

  <html>
  <head>
  <script type="text/javascript">
   function add2()
    {
   sum = 5 + 6;
   alert(sum);
   }
  </script>
  </head>
  <body>
  <form>
  <input type="button" value="click it" onclick="add2()"> //按钮,onclick点击事件,直接写函数名
  </form>
  </body>
  </html>

4、有参数的函数

  上节中add2()函数不能实现任意指定两数相加。其实,定义函数还可以如下格式:

  function 函数名(参数1,参数2)
  {
   函数代码
  }

  注意:参数可以多个,根据需要增减参数个数。参数之间用(逗号,)隔开。

  按照这个格式,函数实现任意两个数的和应该写成:

  function add2(x,y)
  {
   sum = x + y;
   document.write(sum);
  }

  x和y则是函数的两个参数,调用函数的时候,我们可通过这两个参数把两个实际的加数传递给函数了。

  例如,add2(3,4)会求3+4的和,add2(60,20)则会求出60和20的和。

5、返回值的函数

  思考:上一节函数中,通过"document.write"把结果输出来,如果想对函数的结果进行处理怎么办呢?
  我们只要把"document.write(sum)"这行改成如下代码:
  function add2(x,y)
  {
     sum = x + y;
     return sum; //返回函数值,return后面的值叫做返回值。
  }
  还可以通过变量存储调用函数的返回值,代码如下:
  result = add2(3,4);//语句执行后,result变量中的值为7。
  注意:函数中参数和返回值不只是数字,还可以是字符串等其它类型。

案例一

使用javascript代码写出一个函数:实现传入两个整数后弹出较大的整数。

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数</title> <script type="text/javascript"> function add(x,y){
if(x>y){return x}
else if(x<y){return y}
else if(x=y){return x&&y};} document.write(" 5 和 4 的较大值是:"+add(4,5)+"<br />");
document.write(" 6 和 3 的较大值是:"+add(6,3) ); </script>
</head>
<body>
</body>
</html>

二、JavaScript语言--JS基础--JavaScript进阶篇--函数的更多相关文章

  1. 二、JavaScript语言--JS基础--JavaScript入门篇

    1.如何插入JS 使用<script>标签在HTML网页中插入JavaScript代码.注意, <script>标签要成对出现,并把JavaScript代码写在<scri ...

  2. 二、JavaScript语言--JS基础--JavaScript进阶篇--选项卡切换效果

    利用JavaScript知识,实现选项卡切换的效果. 效果图: 文字素材: 房产: 275万购昌平邻铁三居 总价20万买一居     200万内购五环三居 140万安家东三环     北京首现零首付楼 ...

  3. 二、JavaScript语言--JS基础--JavaScript进阶篇--DOM对象 控制HTML元素

    1.认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面 ...

  4. 二、JavaScript语言--JS基础--JavaScript进阶篇--浏览器对象

    1.window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法:

  5. 二、JavaScript语言--JS基础--JavaScript进阶篇--事件响应

    1.什么是事件 JavaScript 创建动态页面.事件是可以被 JavaScript 侦测到的行为. 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件. 比如说,当用户 ...

  6. 二、JavaScript语言--JS基础--JavaScript进阶篇--流程控制语句

    1.if语句--做判断 if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件) { 条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位, ...

  7. 二、JavaScript语言--JS基础--JavaScript进阶篇--数组

    1.什么事数组 我们知道变量用来存储数据,一个变量只能存储一个内容.假设你想存储10个人的姓名或者存储20个人的数学成绩,就需要10个或20个变量来存储,如果需要存储更多数据,那就会变的更麻烦.我们用 ...

  8. 二、JavaScript语言--JS基础--JavaScript进阶篇--JS基础语法

    1.变量 定义:从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品可以是衣服.玩具.水果...等. 命名:变量名字可以任 ...

  9. 二、JavaScript语言--JS基础--JavaScript进阶篇--JavaScript内置对象

    1.什么事对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等: 对象的方 ...

随机推荐

  1. JavaScript中call、apply、bind、slice的使用

    1.参考资料 http://www.cnblogs.com/coco1s/p/4833199.html   2.归结如下 apply . call .bind 三者都是用来改变函数的this对象的指向 ...

  2. 回顾bidirectional path tracing

    最近因为研究需要,回顾了一下BDPT,主要看VEACH的那篇论文,同时参考了pbrt,mitsuba的实现,自己写了一份新的bdpt实现.以前实现的那一份BDPT不是基于物理的,而且无法处理镜面和透明 ...

  3. svn://59.46.115.123:13690/IOS/trunk/02.DevelopLib/04.Coding/uuridesharing

    svn://59.46.115.123:13690/IOS/trunk/02.DevelopLib/04.Coding/uuridesharing

  4. 详细解析Java中抽象类和接口的区别

    在Java语言中, abstract class 和interface 是支持抽象类定 义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和in ...

  5. Struts2标签简介

    Struts2标签简介 Struts2标签的优势 标签库简化了用户对标签的使用 结合OGNL使用,对于集合.对象的访问功能非常强大 提供可扩展的主题.模板支持,极大简化了视图页面的编写 不依赖任何表现 ...

  6. javax.inject中@Inject、@Named、@Qualifier和@Provider用法

    @Inject @Inject支持构造函数.方法和字段注解,也可能使用于静态实例成员.可注解成员可以是任意修饰符(private,package-private,protected,public).注 ...

  7. mingw32-g++.exe: *: No such file or directory错误解决方法

    初次使用CodeBlocks,好不容易把环境配好, 编译没有错误了,但是程序并不生成exe,提示以下问题: mingw32-g++.exe: /W3: No such file or director ...

  8. 百度地图代码API

    百度地图代码API: http://api.map.baidu.com/lbsapi/creatmap/index.html

  9. UVa 11462 Age Sort

    解题报告:给若干个居民的年龄排序,年龄的范围在1到100之间,输入的总人数在0到200W.这题要注意的输入的文件约有25MB,而内存限制为2MB,所以如果人数是像200W这样多的话,甚至都不能把它们都 ...

  10. DCMTK3.6.0 (MT支持库)安装 完整说明

    环境WIN7 + VisualStudio2010 + dcmtk3.6.0 + Cmake2.8.6 准备工作: 从dcmtk官方网站下载源代码及支持库文件.分别名为:dcmtk-3.6.0 dcm ...