3种函数定义方式: 1.使用关键字 function 来声明并定义函数 function myFunction(a, b) { return a * b; } 调用函数: var x = myFunction(4, 3); 2.使用关键字 function 来定义匿名函数 function (a, b) {return a * b} 匿名函数可赋值给变量或者自调用. 匿名函数赋值给变量: var myFunction = function (a, b) {return a * b}; var x…
一直对函数作为参数被传递进另外一个函数理解的不是很清除.先看下这段代码吧: function test(fn){ var bar = 1; fn(); } var bar = 99; test(function foo(){ console.log(bar); }); console.log(foo); 先说下结果为99和foo is not defined.在<你不知道的JavaScript>一书中有这么一句话:无论函数在哪里被调用,也无论它如何被调用,它的词法作用域都只由函数被声明时所处的…