Object.prototype.myEach = function(fn) { // 区分数组和对象 if(Array.isArray(this)) { // 数组 for(var i = 0; i < this.length; i++) { fn(this[i], i, this); } }else { // 对象 for(var i in this) { fn(this[i], i, this); } } }; // 手动配置枚举性为false Object.defineProperty(Object.prototype, 'myEach', { enumerable: false, }); // 遍历对象 var obj = {a: 11, b: 22, c: 33}; obj.myEach(function(value, index, obj) { console.log(value, index, obj); }) // 遍历数组 var arr = [1, 3, 4, 5]; arr.myEach(function(value, index, arr) { console.log(value, index, arr); });