之所以不能break, return;
是因为它不是简单的for循环。内部实现类似callback(context, arg1, arg2)。
在forEach中return,不执行下面的代码。但是回调callback,在它内部实现中还是要执行下一个callback
并且break,会出现如下错误
Illegal break statement,
因为break是用在循环内部的,不是回调函数执行内部
javascript中for in 会把自定义到原型上的属性和函数遍历出来。感觉怪怪的。自然可以通过 arr.hasOwnProperty(key) 这个方法过滤
用forEach可以避免这样的问题;