标签:
function 函数名(形式参数...)
{
执行语句;
return 返回值;
}
函数是多条执行语句的封装体,只有被调用才会被运行。
注意:调用有参数的函数,但没有给其传值,函数一样可以运行,或者调用没有参数的函数,给其传值,该函数也一样运行。
说的简单点:只要写了函数名后面跟了一对小括号,该函数就会运行。
例:
1
2
3
|
<span style= "font-size:14px;" >function show(x,y){ alert(x+:+y); }</span> |
show(4);结果:4:undefined
show(); 结果:undefined:undefined
show(4,8,89); 结果:4:8
综上的例子,Js当中的函数是不存在重载的。如果有,一定就通配所有的了。
1
2
|
<span style= "font-size:14px;" >function show2(x,y){ for (var i= 0 ; i</arguments.length;i++){></span> |
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;>
|
JavaScript之 ------ 函数(一般函数、动态函数、匿名函数)
标签:
原文地址:http://www.cnblogs.com/propheterLiu/p/5948426.html