疯到世界奔溃 2022-05-04 13:45:50
function each(obj, callback) { var i = 0; var length = obj.length for (; i < length; i++) { value = callback(i, obj[i]); } } function eachWithCall(obj, callback) { var i = 0; var length = obj.length for (; i < length; i++) { value = callback.call(obj[i], i, obj[i]); } } function eachWithApply(obj, callback) { var i = 0; var length = obj.length; for(; i < length; i ++) { value = callback.apply(obj[i], [i,obj[i]]); } } var arr = Array.from({length: 10000000}, (v, i) => i) console.time('each') var i = 0; each(arr, function(index, item){ i += item; }) console.timeEnd('each') console.time('eachWithCall') var j = 0; eachWithCall(arr, function(index, item){ j += item; }) console.timeEnd('eachWithCall') console.time('eachWidthApply') var i = 0; each(arr, function(index, item){ i += item; }) console.timeEnd('eachWidthApply') //each: 815.879150390625ms //eachWithCall: 308.455078125ms //eachWidthApply: 828.31591796875ms
这里我的打印的each比eachWithCall慢???,博主能给我说说吗?
- 共 1 页
- 1
如何体现呢?能举例说明吗?
第 13 题:Promise 构造函数是同步执行还是异步执行,那么 then 方法呢?