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

相關文章
相關標籤/搜索