JavaScript之 ------ 函数(一般函数、动态函数、匿名函数)

JavaScript之 ------ 函数(一般函数、动态函数、匿名函数)
函数

一、一般函数

1、格式:

function 函数名(形式参数...)

{

执行语句;

return 返回值;

}

函数是多条执行语句的封装体,只有被调用才会被运行。

注意:调用有参数的函数,但没有给其传值,函数一样可以运行,或者调用没有参数的函数,给其传值,该函数也一样运行。

说的简单点:只要写了函数名后面跟了一对小括号,该函数就会运行。

2、函数虽然定义时是声明成两个参数,但调用时却是可以传入任意个

例:

?


1

2

3

<span style="font-size:14px;">function show(x,y){

         alert(x+:+y);

     }</span>

show(4,8); 结果:4:8

show(4);结果:4:undefined

show(); 结果:undefined:undefined

show(4,8,89); 结果:4:8

综上的例子,Js当中的函数是不存在重载的。如果有,一定就通配所有的了。

3、每个函数中,存在一个 默认的数组arguments ,里面存储着本次调用时传入的所有实参

?


1

2

<span style="font-size:14px;">function show2(x,y){

         for(var i=0; i</arguments.length;i++){></span>

结果:1 2 3 45

4、函数在调用时的其他写法

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<span style="font-size:14px;"><script type=text/javascript>

      function getSum(){

          return 100;

      }

      var sum = getSum();

     // alert(sum); //结果:100

   

      var sum2 = getSum; //相当于java当中的 引用捆绑

      //alert(getSum); //结果:getSum.toString()

      // alert(sum2); //结果:sum2.toString(),也就是getSum.toString()

      //alert(sum2()); //等价于调用:getSum()

      

      function show2(){

          alert(kkkl);

      }

      alert( show2() ); //先弹出“kkkl”,再弹出“undefined”。因为里面的函数没有return值,而外面的函数要用变量去接,结果相当于变量没赋值就输出

      

   </script></span>

二、动态函数

利用Js当中内置的对象Function来构造一个函数,构造方法中的第1个参数是“形参”,第2个参数是“函数体”。

该思想类似于Java当中的类反射。我们平时写函数时通常不用,但关键的地方一写,整个程序的功能会变得很活。

?


1

2

3

<span style="font-size:14px;">var add = new Function(x,y, var sum; sum=x+y;return sum;);

var s = add(100,39);

alert(s=+s);</span>

三、匿名函数

格式:function(){...}

例:

?


1

2

var demo = function(){...}

demo();

通常在定义事件属性的行为时较为常用。

例:

?


1

2

3

4

5

function test()

{

alert(“load ok”);

}

window.onload = test;

可以写成匿名函数的形式:

?


1

2

3

4

window.onload = function()

{

alert(“load ok”);

}

匿名函数就是一种简写格式。

四、函数调用

function.js

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

      //1 取最大值:输出给定数组当中值最大的元素

      //函数定义

      function getMax(arr){

          var max=0;//记下标

          for(var x=1; xarr[max]){

                  max = x;

              }

          }

          return arr[max];

      }

      

    

      //2 数组排序

      //函数定义

      function sortArray(arr){

          for(var x=0; xarr[y]){

                      swap(arr,x,y);

                  }

              }

          }

      }

      //辅助函数,用于交换数组中的两个元素

      function swap(arr,x,y){

          var temp = arr[x];

          arr[x] = arr[y];

          arr[y] = temp;

      }

     

      

      //3 模拟Java当中的System.out.println()

      function println(str){

          document.write( str +

);

      }

      

      

      //4 在数组当中查找元素(若存在则返回该元素的位置,否则返回-1)

      function searchElement(arr,key){

          for(var x=0; x>1;

              if(key>arr[mid]){

                  min=mid+1;

              }else if(key调用:<pre class="brush:java;"></pre>

<script type=text/javascript src=functions.js>

    </script><script type=text/javascript>

       //1 函数调用

      var arr=[133,-22,33,43,1211];

      var mValue = getMax(arr);

      //alert(mValue=+ mValue);

   

       //2函数调用

      document.write(排序前:+arr +<br>); // println(arr);

      sortArray(arr);

      document.write(排序后:+arr);

      

      //3 函数调用

      println();

      println(arr);

      

      //4 函数调用

      var a=searchElement(arr,133);

      //alert(a);

      

      //5 函数调用

      var b=binarySearch(arr,-2);

      //alert(b);

      

      //6 函数调用

      reverseArray(arr);

      println(arr);

      

   </script></arr[mid]){></arr.length;></arr.length-1;></arr.length;>

 

时间: 2024-10-26 07:40:18

JavaScript之 ------ 函数(一般函数、动态函数、匿名函数)的相关文章

javascript闭包,作用域,自调用匿名函数

一,自调用匿名函数 有两种方式:       第一种: (function(参数){....}(传入参数))    --->括号内的语句被强制执行 第二种: (function(参数){...})(传入参数)     --->说明:jquery就是采用这种方式,这种方式的原理:  原来我们调用函数的方式是,先定义,在进行函数名调用        function funName(){        alert("hello world");        }       

Python的函数式编程-传入函数、排序算法、函数作为返回值、匿名函数、偏函数、装饰器

函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. 传入函数 函数的本身也可以作为参数. Python内建的mapreduce的函数.(来源于谷歌的,后来被道格这家伙开源了,成为当今处理大数据最火热的hadoop中的计算模型---MapReduce) 我们先看map.map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序

JS——变量和函数的预解析、匿名函数、函数传参、return

JS解析过程分为两个阶段:编译阶段.执行阶段.在编译阶段会将函数function的声明和定义都提前,而将变量var的声明提前,并将var定义的变量赋值为undefined. 匿名函数: window.onload = function () { var oBtn01 = document.getElementById('btn01'); var oBtn02 = document.getElementById('btn02'); //注意这里不能有括号,skin01()的话就立刻执行了哦,所以不

Python函数和函数式编程(2): 匿名函数--lambda

原文地址:http://blog.csdn.net/majianfei1023/article/details/45269343 一. lambda函数: lambda函数也叫匿名函数,函数没有具体的名称.先来看一个最简单例子: def f(x): return x * 2 g = lambda x : x * 2 看一下 f 和 g的写法有什么不同,f是定义了一个函数,传进去一个参数x,然后x*2,g是定义了一个lambda,后面跟着一个x(这个就是参数),然后跟着一个 : x * 2 (这就

匿名函数和几个和匿名函数相互合作

匿名函数 lambda 函数体: lambda 参数: 返回值 1 ret = lambda x :x*2 2 print(ret(2)) 和匿名函数相互合作多的内置函数 1.map ---------根据参数,改变返回值 1 例子:有一个列表['a','b','c']使用匿名函数把里面的参数都加上一个_sb例如 2 a_sb 3 4 l = ['a', 'b', 'c'] 5 ret = map(lambda x: x + '_sb', l) 6 print(list(ret)) 2.filt

(一)Python入门-5函数:07lambda表达式和匿名函数-eval()函数

一:lambda表达式和匿名函数 lambda表达式可以用来声明匿名函数.lambda 函数是一种简单的.在同一行中定义函数 的方法.lambda函数实际生成了一个函数对象. lambda表达式只允许包含一个表达式,不能包含复杂语句,该表达式的计算结果就是函数 的返回值. lambda表达式的基本语法如下: lambda arg1,arg2,arg3... : <表达式> arg1/arg2/arg3为函数的参数.<表达式>相当于函数体.运算结果是:表达式的运算结果. #lambd

谈谈Javascript的匿名函数

JQuery 里面有这么一种代码: (function(){ // code here })(); 当一个匿名函数被括起来,然后再在后面加一个括号,这个匿名函数就能立即运行起来,神奇吧! 要说匿名函数,我们首先要由函数本身说起.函数的定义如下:函数是将唯一的输出值赋予给每一输入的“法则”.偏关县信访局 当然,这只是数学上的定义.但是,在计算机编程语言中,函数的定义也八九不离十.因为我们都知道,计算机中的函数,也类似数学定义中的描述,它是将输入的若干数据,经过代码设定的逻辑操作处理后,返回唯一的输

Javascript的匿名函数

一.什么是匿名函数?在Javascript定义一个函数一般有如下三种方式:函数关键字(function)语句:function fnMethodName(x){alert(x);}函数字面量(Function Literals):var fnMethodName = function(x){alert(x);}Function()构造函数:var fnMethodName = new Function('x','alert(x);')上面三种方法定义了同一个方法函数fnMethodName,第1

JavaScript匿名函数的使用

JavaScript匿名函数的使用:  http://www.cnblogs.com/skykang/archive/2010/12/03/1895274.html 一.什么是匿名函数? 在Javascript定义一个函数一般有如下三种方式: 1. 函数关键字(function)语句:       function fnMethodName(x){alert(x);}    2. 函数字面量(Function Literals):       var fnMethodName = functio

Javascript的匿名函数与自执行

函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途.匿名函数:就是没有函数名的函数. 函数的定义,大致可分为三种方式: 第一种:这也是最常规的一种 1 2 3 function double(x){        return 2 * x;       } 第二种:这种方法使用了Function构造函数,把参数列表和函数体都作为字符串,很不方便,不建议使用. 1 var double = new Function('x', 'return 2 * x;'); 第三种: 1