我觉着我可能对这块有点误解,所以单独开个博说下自己的理解,当然是研究后的正解了. 1,参数传递是基本类型,看个例子: function addTen(num){ num += 10; return num; } var count = 20; var result = addTen(count); console.log(count,result); //20 30 感觉这个都没啥好说的,基本类型传入函数后,函数内部参数生成一个参数副本,按值传入没毛病. 2,引用类型(一个对象)当作参数传入函数…
一直对函数作为参数被传递进另外一个函数理解的不是很清除.先看下这段代码吧: 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>一书中有这么一句话:无论函数在哪里被调用,也无论它如何被调用,它的词法作用域都只由函数被声明时所处的…