1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script type="text/javascript"> 7 /* function sum(num1 , num2){ 8 return num1 + num2 ; 9 } 10 11 function sum(num1){ 12 return num1 + 100; 13 } 14 alert(sum(19)); //119 15 alert(sum(19,10)); //119 16 */ 17 /** * 以下两个sum的写法与上面的两个function是一样的,只是写法不同而已 */ 18 var sum = function(num1 , num2){ 19 return num1 + num2 ;//29 20 } 21 22 var sum = function(num1){ 23 return num1 + 10; //29 24 } 25 26 /** 27 * 此时sum所指向的控件已经从有两个参数的函数变化到只有sum1的函数中 28 * 在调用的时候就只会调用自由sum1 的函数 29 * 特别指出:函数的参数和调用没有关系,如果函数只有一个参数,但是却传入了两个参数。仅仅只会匹配一个 30 * 所以在js中函数是不存在重载 31 */ 32 alert(sum(19)); 33 alert(sum(19,10)); 34 35 //函数有如下一种定义方式 36 /** 37 * js中 函数就是对象,不存在重载,只是存在覆盖,后面定义的会覆盖前面定义的。 38 * 39 * 如下定义方式等于定义了一个 40 * function fn(num1,num2){ 41 * alert(num1+num2); 42 * } 43 * 所有通过以下的例子,充分的说明函数就是一个对象 44 * 在js中,函数就是一个对象,函数的名称可以变,他是一个对象,当函数是一个对象给我们带来了革命性的变化就是, 45 * 我们可以返回一个函数,我们可以把函数当作参数传进去,就带来了很多灵活性 46 */ 47 var fn = new Function("num1" , "num2" , "alert(num1 + num2);"); 48 fn(12,22); //34 49 50 </script> 51 52 </head> 53 <body> 54 55 </body> 56 </html>
1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script type="text/javascript"> 7 function fun1(arm1) { 8 alert(arm1); 9 } 10 function fun2(arm1, arm2) { 11 alert(arm1 + "_" + arm2); 12 } 13 function fun(arm1, arm2) { 14 if (arguments.length == 1) { 15 fun1("我一个人啦"); 16 } else { 17 fun2("我一个人啦",",终于来个伴了"); 18 } 19 } 20 21 fun(1); //我一个人啦 22 fun(1,2); //我一个人啦_,终于来个伴了 23 24 25 </script> 26 27 </head> 28 <body> 29 30 </body> 31 </html>
时间: 2024-11-07 22:03:00