var obj = new Object(); function test2() { for (var i=1;i<5;i++) { obj['f'+i] = function() { return i; } } alert(obj.f1()); } test2(); 此段代码弹出内容为:5 为什么结果不像想象中的应该是 1 呢? 下边方法可以解决这个问题: var obj = new Object(); function test2() { for (var i=1;i<5;i++) {…
1.函数作为参数传给其他函数: data.sort(function(a,b){return a-b}) //关于数组的sort函数,其回调函数返回负值,a在b之前 //正值,b在a之前 2.函数定义好后立即调用 var temp=(function(x){return x*x})(10); function foo(){};//函数声明,可以提前 var foo=function(){};//表达式定义函数,不能提前 3.JAVASCRIPT的函数可以嵌套在其他函…