function sum(x,y) { //argument属性,闭包 if(arguments.length>1) { return x+y; }else { return function(z) { return x+z; } } } console.log(sum(2,3)); console.log(sum(2)(3)); //第二种情况下,x=2,y=undefined。使用闭包,暂时不回收2.并用另一变量z //存储3 运行结果: