test7() 返回的是个函数表达式 function (){ console.log(Array.prototype.slice.call(arguments)); } 所以什么都不不会输出,如果想执行这个函数,必须在test7()后再加个括号,这样, test7()(1,2) 才会执行输出的是一个数组 [1,2] Array.prototype.slice.call(arguments)是在类数组 arguments 上调用slice方法
会输出一个函数。因为你根本就没有调用,return的就是个函数,又不是函数的调用。当然你改成IIEF的话会返回一个空数组,因为匿名函数没传参,arguments是空。我觉得你没想好要怎么组织你想要的结果,可以再考虑一下。
返回的是个函数表达式
所以什么都不不会输出,如果想执行这个函数,必须在test7()后再加个括号,这样,
才会执行
输出的是一个数组
Array.prototype.slice.call(arguments)
是在类数组 arguments 上调用slice方法