1.管理好作用域和作用域链,通过多使用局部变量,减少with和try catch的使用。因为with和catch都是在作用域的顶部增加了一个对象。
2.高效的存取数据。存取数据有四种方式:字面量值,变量,数组元素和对象属性。
3.流控制:最快的条件判断:1)if语句:两个之内的离散值需要判断,大连的值能容易的分到不同的区间范围中。2)switch语句:超过2个少于10个离散值需要判断,条件值是非线性的,无法分离出区间范围。3)数组查询:超过10个值,条件对应的结果是单一值,而不是一系列操作。
4.循环的提升:将循环变量递减到0而不是递增,这样只判断条件是真是假不用做比较了;展开循环:Duff策略:每一次循环完成标准循环的1-8次。通过数组值的总数除以8来确定循环次数。
5.谨慎使用HTMLCollection对象。每次存取这类对象的属性,都会重新查询DOM中匹配的节点。
6.将要连接的字符串存储到数组中,调用join()方法合并在一些浏览器中比+号连接字符串要快点。
7.浏览器会限制js可以运行的最长时间,可以使用定时器将任务拆分执行。从而避免浏览器弹出终止运行的警告。
1、JavaScript代码
function judgeType(param) {
if(typeof param == 'string' ) {
alert('这是一个字符串')
} else if (typeof param == 'number') {
alert('oh!Number')
}
}
judgeType('aaa')
2、HTML代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/a2.js"></script>
</head>
<body>
</body>
</html>
3、测试结果
(1)字符串类型
(2)数值类型