一、常规写法
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