大多数 JavaScript 的类型检查都是通过字符串比较来完成的。例如,
if (typeof(x)=='undefined')
是检查变量是否从未定义的唯一方法。这对性能有影响吗?
大多数 JavaScript 的类型检查都是通过字符串比较来完成的。例如,
if (typeof(x)=='undefined')
是检查变量是否从未定义的唯一方法。这对性能有影响吗?
这是检查未定义的唯一正确方法。检查的性能影响很小。这是一个简单的测试,您可以运行并查看实际数字。
function performanceTest(fn, count){
var start = new Date();
for(var i = 0; i < count; i++){
fn.call(fn);
}
var end = new Date();
console.log(end - start);
}
performanceTest(function(){
typeof fff == 'undefined'
}, 100000);
在 chrome 上运行检查 100,000 次需要 87 毫秒。