Javascript学习总结-函数-(四)

2.7.     JavaScript函数基础

函数主要用来封装具体的功能代码。

函数是由这样的方式进行声明的:关键字 function、函数名、一组参数,以及置于括号中的待执行代码。

注意:函数的形参是不用声明使用的。

函数的基本语法是这样的:

function functionName(arg0, arg1, ... argN) {

  statements

}

  

例如:

function sayHi(sName, sMessage) {

  alert("Hello " + sName + sMessage);

}

  

调用函数?

函数可以通过其名字加上括号中的参数进行调用,如果有多个参数。

如果您想调用上例中的那个函数,可以使用如下的代码:

sayHi("David", " Nice to meet you!")

调用上面的函数 sayHi() 会生成一个警告窗口。

函数的返回值

没有返回值类型,如果一个函数需要返回值直接使用return即可.

该函数只需要使用 return 运算符后跟要返回的值即可。

function sum(iNum1, iNum2) {

  return iNum1 + iNum2;

}

  

注释:如果函数无明确的返回值,或调用了没有参数的 return 语句,那么它真正返回的值是 undefined。

-----------------------------------------------------------------

函数格式

Function 函数名(参数列表){

代码;

return 返回值; //return 不是必须的.

}

示例:

  function foo() {

           alert("test");

       }

       function foo2( a ){

           alert(a);

           return; // 没有返回值,表示方法执行完了,后面如果有代码就不会执行了

       }

       function foo3( a, b ){

           alert(a + b);

       }

       function foo4( a, b ){

           return a + b;

       }

 注意事项:

1.不需要类型,只写形参的名称就可以了。

2声明时不需要指定返回值类型;return可以有,也可以没有。

3.  javascript中的函数没有重载的形式,后定义的函数会直接覆盖前面 的函数。

4. 一个函数可以接收任意个 参数。

参数:

JS的函数都是类似于Java中可变参数的。

在函数中可以直接使用arguments变量,arguments是一个数组,表示所有传递过来的参数。

在声明函数时,定义的形参就对应arguments数组中相应位置的参数值,写形参只是用着方便一点。

参数示例

定义:

           function foo( a, b, c ){

              ...

           }

调用:

  foo()

           foo( 1, 2 )

           foo( 1, 2, 3 )

           foo( 1, 3, 5, 7, 9 )

           foo( "aa", null, "cc" )

没有重载

当同一个名称的函数定义多次时,最终使用的是最后一个的定义。没有重载!

例:

           function sum(){ alert("11"); }

           function sum(a,b){ alert("22"); }

           调用时写sum(1,2),结果还是显示“22”。

  

总结:

特点:

1、使用function关键字定义函数。

2、没有任何的返回值类型。

3、函数的定义优先执行,与顺序无关。

4、可以通过函数名赋值函数,函数变量的类型是function对象。

5、参数列表不能有var关键字。

6、函数的参数列表在具体调用的时候实参个数可以和形参个数不同。

7、JavaScript函数天然的支持可变参数。

8、同名的函数最后声明会覆盖前面以声明。Javascript中没有函数重载。

案例:体验JavaScript

定义一个输入框输入的月份,然后输出本月对应的天数。

<html>

    <head>

       <title>学习JavaScript</title>

    </head>

    <body>

       月份:

       <input type="text" id="month">

       <input type="button" value="显示天数" onclick="foo()">

       <!--

       31天:1,3,5,7,8,10,12

       30天:4,6,9,11

       28天:2

       -->

       <script type="text/javascript">

           function foo(){

              var monthValue = document.getElementById("month").value;

              // 如果是非数字,则不再继续执行

              if( isNaN(monthValue) ){

                  alert("请输入正确的月份!");

                  return;

              }

              // 转为数字

              monthValue = parseInt(monthValue);

              // 判断范围

              if( monthValue < 1 || monthValue > 12){

                  alert("请输入正确的月份(1--12)!");

                  return;

              }

              // 根据月份显示天数

              switch(monthValue){ // 这时不会自动转换类型,所以先转型

                  case 2:

                     alert("28天");

                     break;

                  case 4:

                  case 6:

                  case 9:

                  case 11:

                     alert("30天");

                     break;

                  default:

                     alert("31天");

                     break;

              }

           }

       </script>

    </body>

</html>
时间: 2024-08-13 16:37:46

Javascript学习总结-函数-(四)的相关文章

JavaScript学习总结(十四)——JavaScript编写类的扩展方法

在?J?a?v?a?S?c?r?i?p?t?中?可以使?用?类的p?r?o?t?o?t?y?p?e属性来?扩?展?类的属?性?和?方?法,在实际开发当中,当JavaScript内置的那些类所提供的动态方法和动态属性不满足我们实际开发时,我们就可以通过"prototype"属性给自定义类添加方法和属性或者扩展原有的类中的方法和属性. 一.扩展JavaScript内置类,添加动态方法 语法格式: 类名.prototype.方法名 = function([param1],[param2],.

JavaScript学习总结(四)function函数部分

转自:http://segmentfault.com/a/1190000000660786 概念 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. js 支持两种函数:一类是语言内部的函数(如eval() ),另一类是自己创建的. 在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它.(该变量的作用域是局部的). 您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量. 函数调用 有如下四种调用js函数的方式

Javascript学习之函数(function)

在JS中,Function(函数)类型实际上是对象;每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象的指针. 一 函数的声明方式 //1.函数声明方式 function add(num1,num2){ return num1+num2; } //2.函数表达式定义函数 var add= function(num1,num2){ // 通过变量box即可引用函数; return num1+num2; }; // 注

javascript学习笔记(四):事件处理函数和动态创建html标记。

1 HTML的事件属性  全局事件属性:HTML 4 增加了使事件在浏览器中触发动作的能力,比如当用户点击元素时启动 JavaScript. a. Window 事件属性,针对 window 对象触发的事件(应用到 <body> 标签),常用的为onload. b. Form事件,由 HTML 表单内的动作触发的事件(应用到几乎所有 HTML 元素,但最常用在 form 元素中):常用的为onblur.onfocus.onselect.onsubmit. c. keybord事件 d.Mous

JavaScript学习笔记(第四章——第六章)

时间戳(2015-06-09 20:58:00) 第四章:变量.作用于和内存问题          typeof:判断元素是什么类型            instanceof:检测引用类型对象是否未指定类型          注:所有引用类型皆为Object的实例          JavaScript没有块级作用域:                    例1: if(true){ var color = “blue”; } alert(color);               // bl

JavaScript学习笔记【四】

JavaScript中的引用类型.Date类型和正则表达式RegExp 一.Date类型. 1.Date的构造函数. var now = new Date();   //默认now为系统的当前时间. var now = new Date(2007, 5, 3, 12, 21, 40);    //创建指定日期的now.构造函数的参数分别为年.月.日.时.分.秒.毫秒. //2007年6月3日是12时21分40秒 var now = Date.now();   //当前时间距离1970年1月1日零

JavaScript学习笔记(四)

函数是对象,函数名是指针 function sum(num1,num2){ return num1 + num2; } alert(sum(10,20)); //30 var anotherSum = sum; //相当于把another指向sum所指向的空间 alert(anotherSum(10,10)); //20 sum = null; alert(anotherSum(10,15)); //25 函数声明与函数表达式的区别 1.函数声明 alert(sum(10,20)); //30

JavaScript学习笔记(四)——js事件之事件绑定、兼容问题

事件捕获:事件从根节点开始,逐级到子节点,若节点绑定了事件动作,则执行动作,继续往下走. 事件冒泡:事件由子节点向跟节点派送,若节点绑定了事件动作,则执行动作,然后继续往上走. 一.怎么绑定事件和移除事件? 由于IE浏览器不支持事件捕获,只支持事件冒泡.因此,其他遵循标准的浏览器都使用W3C定义的函数绑定和移除,IE浏览器则自有一套执行规则.下面分别总结一下W3C和IE的绑定机制: 1.W3C下的事件绑定 添加事件 — addEventListener() 移除事件 — removeEventL

JavaScript学习日志(四):BOM

BOM的核心对象就是window,这一章没什么好说的,总结一些比较常用的: 1,a未定义,a; //报错window.a; //undefined 不能用delete删除全局变量 2,html5不支持<frame>标签,但是支持<iframe>标签 3,js中window对象的top,opener,parent,self属性(虽然对于window来说,它们是一种属性,但是也可以直接用他们作为对象)的区别: top:该变更永远指分割窗口最高层次的浏览器窗口.如果计划从分割窗口的最高层