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. sixsix团队“餐站”应用M2阶段发布报告

    一.新功能 客户端 搜索功能 我们在M2中实现了对地点的搜索菜品,可以直接在主页页面中的输入框输入用户喜欢的菜品,系统将返回与对应关键字所对应的选择,更加高效直观的满足客户的口味. 菜品图片加载 我们 ...

  2. JQueryEasyUI datagrid框架的基本使用

    http://www.jb51.net/article/35348.htm 今天说说这个datagrid框架的基本使用,这个框架一直以来都是大家比较头疼的框架,尤其是Json数据的拼接,后台前台都很重 ...

  3. 可以开心的用Markdown了

    1 计划 月计划 周计划 日计划 2 实现

  4. mongo操作

    详细使用网址:http://blog.csdn.net/xinghebuluo/article/details/7050811 MongoDB基本使用 成功启动MongoDB后,再打开一个命令行窗口输 ...

  5. How much training data do you need?

    How much training data do you need?   //@樵夫上校: 0. 经验上,10X规则(训练数据是模型参数量的10倍)适用与大多数模型,包括shallow networ ...

  6. 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

  7. php中文字符串翻转

    转自:http://www.oschina.net/code/snippet_613962_17070 <?php header("content-type:text/html;cha ...

  8. pthread 学习系列 case1-- 共享进程数据 VS 进程

    #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <pthread.h& ...

  9. DFS & BFS

    DFS 深度优先 BFS 广度优先 DFS或者BFS都是在联通区域内遍历节点的方法 用在二叉树上DFS有preOreder,inOrder,postOrder,BFS就是层次遍历. 在二叉树上的节点, ...

  10. C语言计算任意数的任意次方

    #include "stdio.h" #include"stdlib.h" #define max 500 void yiwei(int *a,int n,in ...