js的forEach方法代码问题

function foreach(a,f,t){
try {a.forEach(f,t);}
catch(e){
if(e===foreach.break) return;
else throw e;
}
}
foreach.break=new Error("StopIteration")
求大神解释一下这段代码如何提前终止forEach的遍历

 看a.forEach方法,抛出异常
 看if(e===foreach.break) return;这行代码,应该是抛出异常foreach.break

forEach遍历的回调函数f应该有throw foreach.break语句抛出异常来终止循环