一、常规写法
1.1 不传参数
function a (x, y) {
var i = 0;
var b = function(){
console.log((x * y) + (i++));
}
return b;
}
var c = a(1, 2);
setInterval('c()', 1000);
1.2 传参数
function c (x, y) {
console.log(x * y);
}
setInterval('c(1, 2)', 1000);
二、改进写法
2.1 不传参数
setInterval(c, 1000);
2.2 传参数
setInterval(function(){
c(1, 2);
}, 1000);
2.3 改进原因
在幕后,JavaScript仍需要评估和执行你给程序传递的字符串。Link