学习资料:http://www.runoob.com/js/js-function-definition.html
JavaScript 函数定义
JavaScript 使用关键字 function 定义函数。
函数可以通过声明定义,也可以是一个表达式。
Arguments 对象
JavaScript 函数有个内置的对象 arguments 对象.
argument 对象包含了函数调用的参数数组。
通过这种方式你可以很方便的找到最后一个参数的值
<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> /*function myFunction() { var i,max=0; for (i=0;i<arguments.length;i++) { if (arguments[i]>max) { max=arguments[i]; } } return max; } document.getElementById("demo").innerHTML=myFunction(4,5,6,33);*/ function sumAll() { var i,sum=0; for (i=0;i<arguments.length;i++) { sum+=arguments[i]; } return sum; } document.getElementById("demo").innerHTML=sumAll(1,2,3,4,5) </script> </body> </html>
闭包:
<!DOCTYPE html> <html> <body> <button type="button" onclick="myFunction()">fuck me</button> <p id="demo"></p> <script> /*var counter=0; function add() { return counter+=1; } function myFunction() {document.getElementById("demo").innerHTML=add(); }*/ /*document.getElementById("demo").innerHTML=add(); function add() { var counter=0; function plus() { counter+=1; } plus(); return counter; }*/ var add=(function () { var counter=0; return function() { return counter+=1; } } )(); function myFunction() { document.getElementById("demo").innerHTML=add(); } </script <!--变量 add 指定了函数自我调用的返回字值。 自我调用函数只执行一次。设置计数器为 0。并返回函数表达式。 add变量可以作为一个函数使用。非常棒的部分是它可以访问函数上一层作用域的计数器。 这个叫作 JavaScript 闭包。它使得函数拥有私有变量变成可能。 计数器受匿名函数的作用域保护,只能通过 add 方法修改。--> </body> </html>
闭包是可访问上一层函数作用域里变量的函数,即便上一层函数已经关闭。
时间: 2024-10-24 12:26:31