3.2、函数 <script>// 普通函数 function func() {alert("Hello Shuaige") }// 定义一个可传参数的函数 function func(arg) {alert(arg) }func('Superman')// 自执行函数,顾名思义,定义好之后可以自动执行 (function f3(arg) {alert(arg)})("Shuaige is good man");// 匿名函数,用处不是很大 了解就行 var a = function() {alert('meinv'); };a();</script> 注意: 对于JavaScript中函数参数,实际参数 的个数可能 小于形式参数的个数,函数内的特殊值arguments中封装了所有实际参数。 2、作用域 JavaScript中每个函数都有自己的作用域,当出现函数嵌套时,就出现了作用域链。当内层函数使用变量时,会根据作用域链从内到外一层层的循环,如果不存在,则异常。 切记:所有的作用域在创建函数且未执行时候就已经存在。 更多:http://www.cnblogs.com/wupeiqi/p/5649402.html 【这个好,得看】 代码展示: function f2(){ var arg= [11,22]; function f3(){ console.log(arg); } arg = [44,55]; return f3; } ret = f2(); ret(); 注:声明提前,在JavaScript引擎“预编译”时进行。 3、闭包 「闭包」,是指拥有多个变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 闭包是个函数,而它「记住了周围发生了什么」。表现为 由「一个函数」体中定义了「另个函数」。 由于作用域链只能从内向外找,默认外部无法获取函数内部变量。闭包,在外部获取函数内部的变量。 script> 来自为知笔记(Wiz) 相关文章: