javascript性能优化之避免二次评估

    javascript与许多脚本语言同样,容许你在程序中获取一个包含代码的字符串而后运行它。例以下面代码:javascript

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>避免二次评估</title>
</head>
<body>
<script>
var num1 = 5;
var num2 = 6;
window.onload = function(){
result = eval("num1+num2");
console.log("eval方式:"+result);
var sum = new Function("arg1","arg2","return arg1+arg2");
console.log("eval方式:"+sum(num1,num2));
setTimeout("console.log('setTimeout方式:'+(num1+num2))",100);
setInterval("console.log('setInterval方式:'+(num1+num2))",100);
}
</script>
</body>
</html>

    在js文件中执行另外一段Javascript代码时,须要付出二次评估的代价,首先须要判断当前代码是否为正常代码,而后再执行过程当中执行字符串中的代码还须要进行另外一次评估,二次评估是一项性能消耗极为昂贵的操做,与直接包含相应代码相比须要耗费更多的时间。在平常开发中应当尽可能避免使用二次评估html

相关文章
相关标签/搜索