JavaScript通过字符串比较检查类型的方式会影响性能吗?

时间:2012-08-20 00:05:55

标签: javascript performance typechecking

大多数JavaScript的类型检查都是通过字符串比较完成的。例如,

if (typeof(x)=='undefined')

是检查变量是否从未定义的唯一方法。这会对绩效产生影响吗?

1 个答案:

答案 0 :(得分:0)

这是检查未定义的唯一正确方法。 支票的性能损失很小。这是一个简单的测试,您可以运行并查看实际数字。

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上运行支票需要花费87毫秒。