<!DOCTYPE HTML Public "-//W3C//DTD XHTML 1.0 transitional//en" "http://www.w3.org/TR/xhtml1/DTD/ Xhtml1-transitional.dtd "><HTMLxmlns= "http://www.w3.org/1999/xhtml"><Head><Metahttp-equiv= "Content-type"content= "text/html; charset=utf-8" /><title>Untitled Document</title><Script>vararr= [1,2,3,4,5]; Array.prototype.sum= function (){ returnEval ( This. Join ('+')); }console.time ('a'); Console.log (Arr.sum ()); Console.timeend ('a'); Array.prototype.sum2= function (){ varLen= This. Length; varNum= 0; for( varI=0; I<Len; I++) {num+= This[i]; } returnnum;} Console.time ('b'); Console.log (arr.sum2 ()); Console.timeend ('b');</Script></Head><Body></Body></HTML>
The performance of Eval is much worse than for, because Eval converts a string into a JavaScript statement and then executes it. The process of conversion is where performance is most consumed.
Two ways to compare the sum of an array with performance