0

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

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

是检查变量是否从未定义的唯一方法。这对性能有影响吗?

4

1 回答 1

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 上运行检查 100,000 次需要 87 毫秒。

于 2012-08-20T01:27:10.390 回答